blob: 55f196d14be03395d1450c179b23da9e050ac0f3 [file] [log] [blame]
/**
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*
*
* This copyright notice shows up in the generated Java code
*/
package org.eclipse.osbp.xtext.table.jvmmodel;
import com.vaadin.server.ClientConnector;
import com.vaadin.ui.Button;
import com.vaadin.ui.VerticalLayout;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.inject.Inject;
import javax.inject.Named;
import org.eclipse.e4.core.contexts.IContextFunction;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.model.application.MApplication;
import org.eclipse.e4.ui.workbench.IPresentationEngine;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.osbp.bpm.api.BPMTaskEventType;
import org.eclipse.osbp.bpm.api.BPMTaskSummary;
import org.eclipse.osbp.bpm.api.BPMTaskUserEvent;
import org.eclipse.osbp.bpm.api.IBPMTaskClient;
import org.eclipse.osbp.bpm.api.IBPMTaskEventNotification;
import org.eclipse.osbp.bpm.api.IBlipBPMWorkloadModifiableItem;
import org.eclipse.osbp.dsl.common.xtext.extensions.AnnotationExtension;
import org.eclipse.osbp.dsl.entity.xtext.extensions.ModelExtensions;
import org.eclipse.osbp.dsl.semantic.common.types.LDataType;
import org.eclipse.osbp.dsl.semantic.common.types.LKeyAndValue;
import org.eclipse.osbp.dsl.semantic.common.types.LScalarType;
import org.eclipse.osbp.dsl.semantic.entity.LEntity;
import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
import org.eclipse.osbp.dsl.semantic.entity.LEntityReference;
import org.eclipse.osbp.infogrid.api.IGridSourceFacade;
import org.eclipse.osbp.osgi.hybrid.api.AbstractHybridVaaclipseView;
import org.eclipse.osbp.runtime.common.event.EventDispatcherEvent;
import org.eclipse.osbp.runtime.common.event.IEventDispatcher;
import org.eclipse.osbp.runtime.common.layouting.IPropertyConstants;
import org.eclipse.osbp.runtime.common.types.ITypeProviderService;
import org.eclipse.osbp.ui.api.contextfunction.IViewEmbeddedProvider;
import org.eclipse.osbp.ui.api.customfields.IBlobService;
import org.eclipse.osbp.ui.api.datamart.DatamartFilter;
import org.eclipse.osbp.ui.api.datamart.IDatamartFilterGenerator;
import org.eclipse.osbp.ui.api.e4.IE4Table;
import org.eclipse.osbp.ui.api.layout.IViewLayoutManager;
import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
import org.eclipse.osbp.ui.api.table.ITableRowCheckListener;
import org.eclipse.osbp.ui.api.themes.IThemeResourceService;
import org.eclipse.osbp.ui.api.user.IUser;
import org.eclipse.osbp.ui.api.useraccess.IUserAccessService;
import org.eclipse.osbp.utils.common.EntityUtils;
import org.eclipse.osbp.vaaclipse.common.ecview.api.IECViewSessionHelper;
import org.eclipse.osbp.xtext.action.ActionPackage;
import org.eclipse.osbp.xtext.cubedsl.CubeLevel;
import org.eclipse.osbp.xtext.datamart.common.DatamartDefinitionUtil;
import org.eclipse.osbp.xtext.datamart.common.olap.DerivedCellSet;
import org.eclipse.osbp.xtext.datamart.common.sql.OperativeDtoContainer;
import org.eclipse.osbp.xtext.datamartdsl.AxisEnum;
import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute;
import org.eclipse.osbp.xtext.datamartdsl.DatamartCube;
import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition;
import org.eclipse.osbp.xtext.datamartdsl.DatamartEntity;
import org.eclipse.osbp.xtext.datamartdsl.DatamartNavigation;
import org.eclipse.osbp.xtext.datamartdsl.DatamartPackage;
import org.eclipse.osbp.xtext.datamartdsl.DatamartSource;
import org.eclipse.osbp.xtext.datamartdsl.DatamartTask;
import org.eclipse.osbp.xtext.datamartdsl.jvmmodel.DatamartDSLJvmModelInferrer;
import org.eclipse.osbp.xtext.datamartdsl.util.DatamartAttributeUtil;
import org.eclipse.osbp.xtext.table.RowHeaderMode;
import org.eclipse.osbp.xtext.table.Table;
import org.eclipse.osbp.xtext.table.TableAggregation;
import org.eclipse.osbp.xtext.table.TableAllColumns;
import org.eclipse.osbp.xtext.table.TableAttribute;
import org.eclipse.osbp.xtext.table.TableAxis;
import org.eclipse.osbp.xtext.table.TableCellColor;
import org.eclipse.osbp.xtext.table.TableColumn;
import org.eclipse.osbp.xtext.table.TableDSLFactory;
import org.eclipse.osbp.xtext.table.TableDatamart;
import org.eclipse.osbp.xtext.table.TableDateDayInterval;
import org.eclipse.osbp.xtext.table.TableDateDayLookup;
import org.eclipse.osbp.xtext.table.TableDerived;
import org.eclipse.osbp.xtext.table.TableDtoDatasource;
import org.eclipse.osbp.xtext.table.TableElement;
import org.eclipse.osbp.xtext.table.TableEvent;
import org.eclipse.osbp.xtext.table.TableFormatter;
import org.eclipse.osbp.xtext.table.TableGrid;
import org.eclipse.osbp.xtext.table.TableHierarchy;
import org.eclipse.osbp.xtext.table.TableIcon;
import org.eclipse.osbp.xtext.table.TableIntInterval;
import org.eclipse.osbp.xtext.table.TableIntLookup;
import org.eclipse.osbp.xtext.table.TableInterval;
import org.eclipse.osbp.xtext.table.TableLookup;
import org.eclipse.osbp.xtext.table.TableMeasure;
import org.eclipse.osbp.xtext.table.TableNumberInterval;
import org.eclipse.osbp.xtext.table.TableNumberLookup;
import org.eclipse.osbp.xtext.table.TableOption;
import org.eclipse.osbp.xtext.table.TableOrdinal;
import org.eclipse.osbp.xtext.table.TablePackage;
import org.eclipse.osbp.xtext.table.TablePreorder;
import org.eclipse.osbp.xtext.table.TableRangeElement;
import org.eclipse.osbp.xtext.table.TableSelection;
import org.eclipse.osbp.xtext.table.TableStringLookup;
import org.eclipse.osbp.xtext.table.TableTable;
import org.eclipse.osbp.xtext.table.TableTextColor;
import org.eclipse.osbp.xtext.table.TableTooltip;
import org.eclipse.osbp.xtext.table.TableTooltipPattern;
import org.eclipse.osbp.xtext.table.TableTrend;
import org.eclipse.osbp.xtext.table.TableValue;
import org.eclipse.osbp.xtext.table.TableValueElement;
import org.eclipse.osbp.xtext.table.common.CellSetFilterTable;
import org.eclipse.osbp.xtext.table.common.CellSetIndexedContainer;
import org.eclipse.osbp.xtext.table.common.CheckboxSelectionCellSetFilterTable;
import org.eclipse.osbp.xtext.table.common.PropertyLookup;
import org.eclipse.osbp.xtext.table.common.TableFilterDecorator;
import org.eclipse.osbp.xtext.table.jvmmodel.DoubleComparator;
import org.eclipse.osbp.xtext.table.jvmmodel.FormatAttribute;
import org.eclipse.osbp.xtext.table.jvmmodel.IdAttribute;
import org.eclipse.osbp.xtext.table.jvmmodel.IntegerComparator;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.Constants;
import org.eclipse.xtext.EcoreUtil2;
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.Conversions;
import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
import org.eclipse.xtext.xbase.lib.StringExtensions;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferenceCardinality;
import org.osgi.service.component.annotations.ReferencePolicy;
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 TableDSLJvmModelInferrer extends AbstractModelInferrer {
@Inject
@Extension
private JvmTypesBuilder _jvmTypesBuilder;
@Inject
@Extension
private IQualifiedNameProvider _iQualifiedNameProvider;
@Inject
@Extension
private DatamartDSLJvmModelInferrer datamartInferrer;
@Inject
@Extension
private ModelExtensions _modelExtensions;
@Inject
@Extension
private AnnotationExtension _annotationExtension;
@Inject
@Named(Constants.FILE_EXTENSIONS)
private String fileExtension;
private int customformatCounter = 0;
private final String CONVERT_METHOD_PREFIX = "getStringTo";
private String binderClassName = "";
public String getFileExtension() {
return null;
}
/**
* <p>infer method dispatches the necessary routines to build fields, setter, getter, constructors and methods of the generated code.</p>
*/
protected void _infer(final TablePackage pkg, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) {
String _string = this._iQualifiedNameProvider.getFullyQualifiedName(pkg).toString();
String _plus = (_string + ".");
String _firstUpper = StringExtensions.toFirstUpper(this._iQualifiedNameProvider.getFullyQualifiedName(pkg).getLastSegment());
String _plus_1 = (_plus + _firstUpper);
String _plus_2 = (_plus_1 + "ServiceBinder");
this.binderClassName = _plus_2;
final JvmGenericType clsBinder = this._jvmTypesBuilder.toClass(pkg, pkg.getName().toString().concat("ServiceBinder"));
clsBinder.setSimpleName(StringExtensions.toFirstUpper(clsBinder.getSimpleName()));
final Procedure1<JvmGenericType> _function = (JvmGenericType it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(SuppressWarnings.class, "serial");
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
EList<JvmAnnotationReference> _annotations_1 = it.getAnnotations();
JvmAnnotationReference _annotationRef_1 = this._annotationTypesBuilder.annotationRef(Component.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations_1, _annotationRef_1);
it.setPackageName(this._iQualifiedNameProvider.getFullyQualifiedName(pkg).toString());
this._jvmTypesBuilder.setFileHeader(it, this._jvmTypesBuilder.getDocumentation(pkg));
this.toBinderFields(it, pkg);
this.toBinderOperations(it, pkg);
};
acceptor.<JvmGenericType>accept(clsBinder, _function);
EList<Table> _tables = pkg.getTables();
for (final Table table : _tables) {
{
String clsName = "";
boolean _isEmbedded = this.isEmbedded(table);
if (_isEmbedded) {
clsName = pkg.getName().toString().concat(".").concat(table.getName()).concat(StringExtensions.toFirstUpper(this.fileExtension)).concat("Embedded");
} else {
boolean _isGrid = this.isGrid(table);
if (_isGrid) {
clsName = pkg.getName().toString().concat(".").concat(table.getName()).concat("Grid");
} else {
boolean _isSelection = this.isSelection(table);
if (_isSelection) {
clsName = pkg.getName().toString().concat(".").concat(table.getName()).concat("Select");
} else {
clsName = pkg.getName().toString().concat(".").concat(table.getName()).concat(StringExtensions.toFirstUpper(this.fileExtension));
}
}
}
final String className = clsName;
final JvmGenericType cls = this._jvmTypesBuilder.toClass(table, clsName);
boolean _isEmbedded_1 = this.isEmbedded(table);
if (_isEmbedded_1) {
cls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(IViewEmbeddedProvider.class));
cls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(ClientConnector.AttachListener.class));
} else {
cls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(AbstractHybridVaaclipseView.class));
}
cls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(IUser.UserLocaleListener.class));
cls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(IEventDispatcher.Receiver.class));
cls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(IE4Table.class));
if (((!this.isGrid(table)) && (!this.isEmbedded(table)))) {
cls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(IDatamartFilterGenerator.FilterChangeListener.class));
}
boolean _isTask = this.isTask(table);
if (_isTask) {
cls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(IBPMTaskEventNotification.class));
}
boolean _isSelection_1 = this.isSelection(table);
if (_isSelection_1) {
cls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(ITableRowCheckListener.CheckRecipient.class));
}
final Procedure1<JvmGenericType> _function_1 = (JvmGenericType it) -> {
this.toFields(it, table);
this.toConstructor(it, table);
this.toGetterSetter(it, table);
this.toOperations(it, pkg, table, className);
};
acceptor.<JvmGenericType>accept(cls, _function_1);
boolean _isEmbedded_2 = this.isEmbedded(table);
if (_isEmbedded_2) {
String _concat = table.getName().concat(StringExtensions.toFirstUpper(this.fileExtension)).concat("Embedded");
String contextClassName = (_concat +
"ContextFunction");
final JvmGenericType contextCls = this._jvmTypesBuilder.toClass(pkg, contextClassName);
final String tableClsName = clsName;
contextCls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(IContextFunction.class));
contextCls.setSimpleName(StringExtensions.toFirstUpper(contextCls.getSimpleName()));
final Procedure1<JvmGenericType> _function_2 = (JvmGenericType it) -> {
JvmAnnotationReference annotationRef = this._annotationTypesBuilder.annotationRef(
Component.class);
JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(IContextFunction.class);
this._annotationExtension.addAnnAttr(annotationRef, table, "service",
((JvmTypeReference) _typeRef));
StringConcatenation _builder = new StringConcatenation();
_builder.append(IContextFunction.SERVICE_CONTEXT_KEY);
_builder.append("=");
String _firstUpper_1 = StringExtensions.toFirstUpper(table.getName());
_builder.append(_firstUpper_1);
String propContent = _builder.toString();
this._annotationExtension.addAnnAttr(annotationRef, table, "property", propContent);
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, annotationRef);
it.setPackageName(this._iQualifiedNameProvider.getFullyQualifiedName(pkg).toString());
this.toContextOperations(it, table, tableClsName);
};
acceptor.<JvmGenericType>accept(contextCls, _function_2);
}
}
}
}
/**
* <p>create an injectable context function to be used by an e4 application.</p>
*/
public void toContextOperations(final JvmGenericType type, final Table table, final String clsName) {
EList<JvmMember> _members = type.getMembers();
final Procedure1<JvmOperation> _function = (JvmOperation it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Override.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "eclipseContext", this._typeReferenceBuilder.typeRef(IEclipseContext.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
EList<JvmFormalParameter> _parameters_1 = it.getParameters();
JvmFormalParameter _parameter_1 = this._jvmTypesBuilder.toParameter(table, "contextKey", this._typeReferenceBuilder.typeRef(String.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
final Procedure1<ITreeAppendable> _function_1 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("MApplication application = eclipseContext.get(MApplication.class);");
_builder.newLine();
_builder.append("IEclipseContext appCtx = application.getContext();");
_builder.newLine();
_builder.append("IViewEmbeddedProvider provider = ContextInjectionFactory.make(");
_builder.append(clsName);
_builder.append(".class, appCtx);");
_builder.newLineIfNotEmpty();
_builder.append("appCtx.set(IViewEmbeddedProvider.class, provider);");
_builder.newLine();
_builder.append("return provider;");
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_1);
};
JvmOperation _method = this._jvmTypesBuilder.toMethod(table, "compute", this._typeReferenceBuilder.typeRef(Object.class), _function);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members, _method);
}
/**
* <p>build the constructors to be used by an e4 application.</p>
*/
public void toConstructor(final JvmDeclaredType type, final Table table) {
boolean _isEmbedded = this.isEmbedded(table);
boolean _not = (!_isEmbedded);
if (_not) {
EList<JvmMember> _members = type.getMembers();
final Procedure1<JvmConstructor> _function = (JvmConstructor it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "parent", this._typeReferenceBuilder.typeRef(VerticalLayout.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
EList<JvmFormalParameter> _parameters_1 = it.getParameters();
JvmFormalParameter _parameter_1 = this._jvmTypesBuilder.toParameter(table, "context", this._typeReferenceBuilder.typeRef(IEclipseContext.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
EList<JvmFormalParameter> _parameters_2 = it.getParameters();
JvmFormalParameter _parameter_2 = this._jvmTypesBuilder.toParameter(table, "app", this._typeReferenceBuilder.typeRef(MApplication.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_2, _parameter_2);
final Procedure1<ITreeAppendable> _function_1 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("super(parent,context,app);");
_builder.newLine();
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_1);
};
JvmConstructor _constructor = this._jvmTypesBuilder.toConstructor(table, _function);
this._jvmTypesBuilder.<JvmConstructor>operator_add(_members, _constructor);
}
}
public TableDatamart getDataMartTable(final Table table) {
return this.getDataMartTable(table.getTabletype());
}
public TableDatamart getDataMartTable(final TableOption option) {
boolean _matched = false;
if (option instanceof TableTable) {
_matched=true;
return ((TableTable)option).getSource();
}
return null;
}
public TableDtoDatasource getDtoGridTable(final Table table) {
return this.getDtoGridTable(table.getTabletype());
}
public TableDtoDatasource getDtoGridTable(final TableOption option) {
boolean _matched = false;
if (option instanceof TableGrid) {
_matched=true;
TableDtoDatasource _source = ((TableGrid)option).getSource();
return ((TableDtoDatasource) _source);
}
return null;
}
public String getSourceDataMartRefName(final Table table) {
if ((((this.getDataMartTable(table) != null) && (this.getDataMartTable(table).getDatamartRef() != null)) &&
(this.getDataMartTable(table).getDatamartRef().getName() != null))) {
return this.getDataMartTable(table).getDatamartRef().getName().toString();
} else {
return null;
}
}
/**
* <p>build the class variables.</p>
*/
public void toFields(final JvmDeclaredType type, final Table table) {
JvmField field = null;
final Procedure1<JvmField> _function = (JvmField it) -> {
final Procedure1<ITreeAppendable> _function_1 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("org.slf4j.LoggerFactory.getLogger(\"tables\")");
it_1.append(_builder);
};
this._jvmTypesBuilder.setInitializer(it, _function_1);
};
field = this._jvmTypesBuilder.toField(table, "log", this._typeReferenceBuilder.typeRef(Logger.class), _function);
field.setStatic(true);
field.setVisibility(JvmVisibility.PRIVATE);
EList<JvmMember> _members = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
final Procedure1<JvmField> _function_1 = (JvmField it) -> {
final Procedure1<ITreeAppendable> _function_2 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("false");
it_1.append(_builder);
};
this._jvmTypesBuilder.setInitializer(it, _function_2);
};
field = this._jvmTypesBuilder.toField(table, "initDone", this._typeReferenceBuilder.typeRef(boolean.class), _function_1);
EList<JvmMember> _members_1 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_1, field);
field = this._jvmTypesBuilder.toField(table, "parent", this._typeReferenceBuilder.typeRef(VerticalLayout.class));
EList<JvmMember> _members_2 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_2, field);
final Procedure1<JvmField> _function_2 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
field = this._jvmTypesBuilder.toField(table, "eclipseContext", this._typeReferenceBuilder.typeRef(IEclipseContext.class), _function_2);
EList<JvmMember> _members_3 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_3, field);
final Procedure1<JvmField> _function_3 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
field = this._jvmTypesBuilder.toField(table, "user", this._typeReferenceBuilder.typeRef(IUser.class), _function_3);
EList<JvmMember> _members_4 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_4, field);
final Procedure1<JvmField> _function_4 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
field = this._jvmTypesBuilder.toField(table, "eventDispatcher", this._typeReferenceBuilder.typeRef(IEventDispatcher.class), _function_4);
EList<JvmMember> _members_5 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_5, field);
field = this._jvmTypesBuilder.toField(table, "coordinateSystem", this._typeReferenceBuilder.typeRef(ArrayList.class, this._typeReferenceBuilder.typeRef(Integer.class)));
EList<JvmMember> _members_6 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_6, field);
field = this._jvmTypesBuilder.toField(table, "layoutManager", this._typeReferenceBuilder.typeRef(IViewLayoutManager.class));
EList<JvmMember> _members_7 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_7, field);
final Procedure1<JvmField> _function_5 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
field = this._jvmTypesBuilder.toField(table, "dslMetadataService", this._typeReferenceBuilder.typeRef(IDSLMetadataService.class), _function_5);
EList<JvmMember> _members_8 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_8, field);
final Procedure1<JvmField> _function_6 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
field = this._jvmTypesBuilder.toField(table, "blobService", this._typeReferenceBuilder.typeRef(IBlobService.class), _function_6);
EList<JvmMember> _members_9 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_9, field);
String _sourceDataMartRefName = this.getSourceDataMartRefName(table);
boolean _tripleNotEquals = (_sourceDataMartRefName != null);
if (_tripleNotEquals) {
EObject _eContainer = this.getDataMartTable(table).getDatamartRef().eContainer();
String packageName = this._iQualifiedNameProvider.getFullyQualifiedName(((DatamartPackage) _eContainer)).toString();
StringConcatenation _builder = new StringConcatenation();
_builder.append(packageName);
_builder.append(".");
String _sourceDataMartRefName_1 = this.getSourceDataMartRefName(table);
_builder.append(_sourceDataMartRefName_1);
_builder.append("Datamart");
field = this._jvmTypesBuilder.toField(table, "datamartInstance",
this._typeReferenceBuilder.typeRef(_builder.toString()));
EList<JvmMember> _members_10 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_10, field);
field = this._jvmTypesBuilder.toField(table, "filterGenerator", this._typeReferenceBuilder.typeRef(IDatamartFilterGenerator.class));
EList<JvmMember> _members_11 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_11, field);
boolean _isTask = this.isTask(table);
boolean _not = (!_isTask);
if (_not) {
final Procedure1<JvmField> _function_7 = (JvmField it) -> {
final Procedure1<ITreeAppendable> _function_8 = (ITreeAppendable it_1) -> {
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("false");
it_1.append(_builder_1);
};
this._jvmTypesBuilder.setInitializer(it, _function_8);
};
field = this._jvmTypesBuilder.toField(table, "moreToLoad", this._typeReferenceBuilder.typeRef(boolean.class), _function_7);
EList<JvmMember> _members_12 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_12, field);
}
}
boolean _isGrid = this.isGrid(table);
if (_isGrid) {
final Procedure1<JvmField> _function_8 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
field = this._jvmTypesBuilder.toField(table, "gridSourceService", this._typeReferenceBuilder.typeRef(IGridSourceFacade.class), _function_8);
EList<JvmMember> _members_13 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_13, field);
final Procedure1<JvmField> _function_9 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
field = this._jvmTypesBuilder.toField(table, "ecviewPropsProvider", this._typeReferenceBuilder.typeRef(IECViewSessionHelper.class), _function_9);
EList<JvmMember> _members_14 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_14, field);
final Procedure1<JvmField> _function_10 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
field = this._jvmTypesBuilder.toField(table, "bundleSpaceTypeProvider", this._typeReferenceBuilder.typeRef(ITypeProviderService.class), _function_10);
EList<JvmMember> _members_15 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_15, field);
field = this._jvmTypesBuilder.toField(table, "grid", this._typeReferenceBuilder.typeRef("org.eclipse.osbp.infogrid.vaaclipse.SingleInfoGridComponent"));
EList<JvmMember> _members_16 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_16, field);
}
field = this._jvmTypesBuilder.toField(table, "dataComponent", this._typeReferenceBuilder.typeRef(com.vaadin.ui.Component.class));
EList<JvmMember> _members_17 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_17, field);
final Procedure1<JvmField> _function_11 = (JvmField it) -> {
final Procedure1<ITreeAppendable> _function_12 = (ITreeAppendable it_1) -> {
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("false");
it_1.append(_builder_1);
};
this._jvmTypesBuilder.setInitializer(it, _function_12);
};
field = this._jvmTypesBuilder.toField(table, "mustRefresh", this._typeReferenceBuilder.typeRef(boolean.class), _function_11);
EList<JvmMember> _members_18 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_18, field);
field = this._jvmTypesBuilder.toField(table, "attributeLookupMap",
this._typeReferenceBuilder.typeRef(HashMap.class, this._typeReferenceBuilder.typeRef(String.class), this._typeReferenceBuilder.typeRef(PropertyLookup.class)));
EList<JvmMember> _members_19 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_19, field);
field = this._jvmTypesBuilder.toField(table, "tabSheets",
this._typeReferenceBuilder.typeRef(HashMap.class, this._typeReferenceBuilder.typeRef(com.vaadin.ui.Component.class), this._typeReferenceBuilder.typeRef(ArrayList.class, this._typeReferenceBuilder.typeRef(ArrayList.class, this._typeReferenceBuilder.typeRef(Integer.class)))));
EList<JvmMember> _members_20 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_20, field);
field = this._jvmTypesBuilder.toField(table, "dataSourceContainer", this._typeReferenceBuilder.typeRef(CellSetIndexedContainer.class));
EList<JvmMember> _members_21 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_21, field);
field = this._jvmTypesBuilder.toField(table, "operativeDtoContainer", this._typeReferenceBuilder.typeRef(OperativeDtoContainer.class));
EList<JvmMember> _members_22 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_22, field);
field = this._jvmTypesBuilder.toField(table, "tables", this._typeReferenceBuilder.typeRef(ArrayList.class, this._typeReferenceBuilder.typeRef(CellSetFilterTable.class)));
EList<JvmMember> _members_23 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_23, field);
final Procedure1<JvmField> _function_12 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
field = this._jvmTypesBuilder.toField(table, "renderingEngine", this._typeReferenceBuilder.typeRef(IPresentationEngine.class), _function_12);
EList<JvmMember> _members_24 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_24, field);
final Procedure1<JvmField> _function_13 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
field = this._jvmTypesBuilder.toField(table, "themeResourceService", this._typeReferenceBuilder.typeRef(IThemeResourceService.class), _function_13);
EList<JvmMember> _members_25 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_25, field);
field = this._jvmTypesBuilder.toField(table, "tableFilterDecorator", this._typeReferenceBuilder.typeRef(TableFilterDecorator.class));
EList<JvmMember> _members_26 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_26, field);
boolean _isTask_1 = this.isTask(table);
if (_isTask_1) {
final Procedure1<JvmField> _function_14 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
EList<JvmAnnotationReference> _annotations_1 = it.getAnnotations();
JvmAnnotationReference _annotationRef_1 = this._annotationTypesBuilder.annotationRef(Optional.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations_1, _annotationRef_1);
};
field = this._jvmTypesBuilder.toField(table, "taskClient", this._typeReferenceBuilder.typeRef(IBPMTaskClient.class), _function_14);
EList<JvmMember> _members_27 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_27, field);
field = this._jvmTypesBuilder.toField(table, "currentTaskId", this._typeReferenceBuilder.typeRef(Long.class));
EList<JvmMember> _members_28 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_28, field);
field = this._jvmTypesBuilder.toField(table, "taskButtons",
this._typeReferenceBuilder.typeRef(ArrayList.class, this._typeReferenceBuilder.typeRef(Button.class)));
EList<JvmMember> _members_29 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_29, field);
}
boolean _isSelection = this.isSelection(table);
if (_isSelection) {
final Procedure1<JvmField> _function_15 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
EList<JvmAnnotationReference> _annotations_1 = it.getAnnotations();
JvmAnnotationReference _annotationRef_1 = this._annotationTypesBuilder.annotationRef(Optional.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations_1, _annotationRef_1);
};
field = this._jvmTypesBuilder.toField(table, "taskClient", this._typeReferenceBuilder.typeRef(IBPMTaskClient.class), _function_15);
EList<JvmMember> _members_30 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_30, field);
field = this._jvmTypesBuilder.toField(table, "selectTable", this._typeReferenceBuilder.typeRef(CheckboxSelectionCellSetFilterTable.class));
EList<JvmMember> _members_31 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_31, field);
field = this._jvmTypesBuilder.toField(table, "workLoadItem", this._typeReferenceBuilder.typeRef(IBlipBPMWorkloadModifiableItem.class));
EList<JvmMember> _members_32 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_32, field);
field = this._jvmTypesBuilder.toField(table, "taskSummary", this._typeReferenceBuilder.typeRef(BPMTaskSummary.class));
EList<JvmMember> _members_33 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_33, field);
}
if ((((!this.isEmbedded(table)) && (table.getTabletype().getToolbar() != null)) && (table.getTabletype().getToolbar().eContainer() != null))) {
EObject _eContainer_1 = table.getTabletype().getToolbar().eContainer();
String packageName_1 = this._iQualifiedNameProvider.getFullyQualifiedName(((ActionPackage) _eContainer_1)).toString();
field = this._jvmTypesBuilder.toField(table, "toolbarUUID", this._typeReferenceBuilder.typeRef(String.class));
EList<JvmMember> _members_34 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_34, field);
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(packageName_1);
_builder_1.append(".");
String _firstUpper = StringExtensions.toFirstUpper(table.getTabletype().getToolbar().getName().toString());
_builder_1.append(_firstUpper);
_builder_1.append("Toolbar");
field = this._jvmTypesBuilder.toField(table, "toolbarClass", this._typeReferenceBuilder.typeRef(_builder_1.toString()));
EList<JvmMember> _members_35 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_35, field);
}
}
/**
* <p>build the getters and setters from class variables.</p>
*/
public void toGetterSetter(final JvmDeclaredType type, final Table table) {
JvmOperation operation = null;
operation = this._jvmTypesBuilder.toGetter(table, "coordinateSystem",
this._typeReferenceBuilder.typeRef(ArrayList.class, this._typeReferenceBuilder.typeRef(Integer.class)));
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 TablePackage pkg, final Table table, final String clsName) {
EList<JvmMember> _members = type.getMembers();
final Procedure1<JvmOperation> _function = (JvmOperation it) -> {
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "limited", this._typeReferenceBuilder.typeRef(boolean.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
final Procedure1<ITreeAppendable> _function_1 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("operativeDtoContainer = null;");
_builder.newLine();
{
TableDatamart _dataMartTable = this.getDataMartTable(table);
boolean _tripleNotEquals = (_dataMartTable != null);
if (_tripleNotEquals) {
_builder.append("DerivedCellSet cellSet = datamartInstance.getResults(");
{
if ((this.isTask(table) || this.isCube(table))) {
} else {
{
if ((this.isSelection(table) || this.isEmbedded(table))) {
_builder.append("limited, null, null");
} else {
_builder.append("limited, getTaskOperativeDtoClass(), getTaskInitialOperativeDtos()");
}
}
}
}
_builder.append(");");
_builder.newLineIfNotEmpty();
{
if (((!this.isTask(table)) && (!this.isCube(table)))) {
_builder.append("moreToLoad = datamartInstance.isMoreToLoad();");
}
}
_builder.newLineIfNotEmpty();
} else {
_builder.append("DerivedCellSet cellSet = null;");
_builder.newLine();
}
}
_builder.append("if\t(cellSet != null) {");
_builder.newLine();
_builder.append("\t");
_builder.append("operativeDtoContainer = cellSet.getOperativeDtoContainer();");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.append("return cellSet;");
_builder.newLine();
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_1);
};
JvmOperation _method = this._jvmTypesBuilder.toMethod(table, "getCellSet", this._typeReferenceBuilder.typeRef(DerivedCellSet.class), _function);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members, _method);
EList<JvmMember> _members_1 = type.getMembers();
final Procedure1<JvmOperation> _function_1 = (JvmOperation it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Focus.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
boolean _isGrid = this.isGrid(table);
if (_isGrid) {
final Procedure1<ITreeAppendable> _function_2 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("if(grid != null) {");
_builder.newLine();
_builder.append("\t");
_builder.append("grid.focus();");
_builder.newLine();
_builder.append("}");
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_2);
} else {
final Procedure1<ITreeAppendable> _function_3 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("if(tables != null && !tables.isEmpty()) {");
_builder.newLine();
_builder.append("\t");
_builder.append("tables.get(0).focus();");
_builder.newLine();
_builder.append("}");
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_3);
}
};
JvmOperation _method_1 = this._jvmTypesBuilder.toMethod(table, "setFocus", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_1);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_1, _method_1);
EList<JvmMember> _members_2 = type.getMembers();
final Procedure1<JvmOperation> _function_2 = (JvmOperation it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(PostConstruct.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
final Procedure1<ITreeAppendable> _function_3 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
{
boolean _isEmbedded = this.isEmbedded(table);
boolean _not = (!_isEmbedded);
if (_not) {
_builder.append("super.initView();");
}
}
_builder.newLineIfNotEmpty();
_builder.append("user.addUserLocaleListener(this);");
_builder.newLine();
_builder.append("eventDispatcher.addEventReceiver(this);");
_builder.newLine();
{
boolean _isTask = this.isTask(table);
if (_isTask) {
_builder.append("taskClient.subscribeTaskEventNotification(this);");
_builder.newLine();
_builder.append("taskClient.subscribeProcessCompletedEventNotification(this);");
_builder.newLine();
}
}
{
if (((!this.isGrid(table)) && (!this.isEmbedded(table)))) {
_builder.append("filterGenerator.addFilterChangeListener(this);");
_builder.newLine();
}
}
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_3);
};
JvmOperation _method_2 = this._jvmTypesBuilder.toMethod(table, "activate", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_2);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_2, _method_2);
EList<JvmMember> _members_3 = type.getMembers();
final Procedure1<JvmOperation> _function_3 = (JvmOperation it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(PreDestroy.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
final Procedure1<ITreeAppendable> _function_4 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("user.removeUserLocaleListener(this);");
_builder.newLine();
_builder.append("eventDispatcher.removeEventReceiver(this);");
_builder.newLine();
{
boolean _isTask = this.isTask(table);
if (_isTask) {
_builder.append("taskClient.unsubscribeTaskEventNotification(this);");
_builder.newLine();
_builder.append("taskClient.unsubscribeProcessCompletedEventNotification(this);");
_builder.newLine();
}
}
{
if (((!this.isGrid(table)) && (!this.isEmbedded(table)))) {
_builder.append("filterGenerator.removeFilterChangeListener(this);");
_builder.newLine();
}
}
{
boolean _isEmbedded = this.isEmbedded(table);
boolean _not = (!_isEmbedded);
if (_not) {
_builder.append("super.destroyView();");
}
}
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_4);
};
JvmOperation _method_3 = this._jvmTypesBuilder.toMethod(table, "deactivate", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_3);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_3, _method_3);
EList<JvmMember> _members_4 = type.getMembers();
final Procedure1<JvmOperation> _function_4 = (JvmOperation it) -> {
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "parent", this._typeReferenceBuilder.typeRef(VerticalLayout.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
boolean _isEmbedded = this.isEmbedded(table);
if (_isEmbedded) {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Override.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
}
final Procedure1<ITreeAppendable> _function_5 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
String _createView = this.createView(table, pkg);
_builder.append(_createView);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_5);
};
JvmOperation _method_4 = this._jvmTypesBuilder.toMethod(table, "createView", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_4);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_4, _method_4);
EList<JvmMember> _members_5 = type.getMembers();
final Procedure1<JvmOperation> _function_5 = (JvmOperation it) -> {
final Procedure1<ITreeAppendable> _function_6 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
String _createComponents = this.createComponents(table, clsName);
_builder.append(_createComponents);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_6);
};
JvmOperation _method_5 = this._jvmTypesBuilder.toMethod(table, "createComponents", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_5);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_5, _method_5);
EList<JvmMember> _members_6 = type.getMembers();
final Procedure1<JvmOperation> _function_6 = (JvmOperation it) -> {
this._jvmTypesBuilder.setDocumentation(it, this._jvmTypesBuilder.getDocumentation(table.getTabletype()));
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "manualInput", this._typeReferenceBuilder.typeRef(boolean.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
final Procedure1<ITreeAppendable> _function_7 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_7);
};
JvmOperation _method_6 = this._jvmTypesBuilder.toMethod(table, "setEnableManualInput", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_6);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_6, _method_6);
EList<JvmMember> _members_7 = type.getMembers();
final Procedure1<JvmOperation> _function_7 = (JvmOperation it) -> {
this._jvmTypesBuilder.setDocumentation(it, this._jvmTypesBuilder.getDocumentation(table.getTabletype()));
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "dto", this._typeReferenceBuilder.typeRef(Object.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
final Procedure1<ITreeAppendable> _function_8 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_8);
};
JvmOperation _method_7 = this._jvmTypesBuilder.toMethod(table, "setInput", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_7);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_7, _method_7);
EList<JvmMember> _members_8 = type.getMembers();
final Procedure1<JvmOperation> _function_8 = (JvmOperation it) -> {
this._jvmTypesBuilder.setDocumentation(it, this._jvmTypesBuilder.getDocumentation(table.getTabletype()));
it.setVisibility(JvmVisibility.PRIVATE);
final Procedure1<ITreeAppendable> _function_9 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("return ");
{
TableOption _tabletype = table.getTabletype();
if ((_tabletype instanceof TableTable)) {
TableOption _tabletype_1 = table.getTabletype();
boolean _booleanValue = Boolean.valueOf(((TableTable) _tabletype_1).isSelectById()).booleanValue();
_builder.append(_booleanValue);
} else {
_builder.append("false");
}
}
_builder.append(";");
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_9);
};
JvmOperation _method_8 = this._jvmTypesBuilder.toMethod(table, "getSelectById", this._typeReferenceBuilder.typeRef(boolean.class), _function_8);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_8, _method_8);
TableOption _tabletype = table.getTabletype();
boolean _matched = false;
if (_tabletype instanceof TableTable) {
_matched=true;
EList<JvmMember> _members_9 = type.getMembers();
final Procedure1<JvmOperation> _function_9 = (JvmOperation it) -> {
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "cellSet", this._typeReferenceBuilder.typeRef(DerivedCellSet.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
EList<JvmFormalParameter> _parameters_1 = it.getParameters();
JvmFormalParameter _parameter_1 = this._jvmTypesBuilder.toParameter(table, "axisNo", this._typeReferenceBuilder.typeRef(Integer.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
final Procedure1<ITreeAppendable> _function_10 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
String _createTabSheet = this.createTabSheet(table);
_builder.append(_createTabSheet);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_10);
};
JvmOperation _method_9 = this._jvmTypesBuilder.toMethod(table, "createTabSheet", this._typeReferenceBuilder.typeRef(com.vaadin.ui.Component.class), _function_9);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_9, _method_9);
EList<JvmMember> _members_10 = type.getMembers();
final Procedure1<JvmOperation> _function_10 = (JvmOperation it) -> {
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "cellSet", this._typeReferenceBuilder.typeRef(DerivedCellSet.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
final Procedure1<ITreeAppendable> _function_11 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
String _createTable = this.createTable(table);
_builder.append(_createTable);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_11);
};
JvmOperation _method_10 = this._jvmTypesBuilder.toMethod(table, "createTable", this._typeReferenceBuilder.typeRef(com.vaadin.ui.Component.class), _function_10);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_10, _method_10);
EList<JvmMember> _members_11 = type.getMembers();
final Procedure1<JvmOperation> _function_11 = (JvmOperation it) -> {
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "table", this._typeReferenceBuilder.typeRef(CellSetFilterTable.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
EList<JvmFormalParameter> _parameters_1 = it.getParameters();
JvmFormalParameter _parameter_1 = this._jvmTypesBuilder.toParameter(table, "cellSet", this._typeReferenceBuilder.typeRef(DerivedCellSet.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
final Procedure1<ITreeAppendable> _function_12 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
String _initTable = this.initTable(table);
_builder.append(_initTable);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_12);
};
JvmOperation _method_11 = this._jvmTypesBuilder.toMethod(table, "initTable", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_11);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_11, _method_11);
EList<JvmMember> _members_12 = type.getMembers();
final Procedure1<JvmOperation> _function_12 = (JvmOperation it) -> {
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "table", this._typeReferenceBuilder.typeRef(CellSetFilterTable.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
final Procedure1<ITreeAppendable> _function_13 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
CharSequence _tableSettingsByUserProperties = this.tableSettingsByUserProperties(table);
_builder.append(_tableSettingsByUserProperties);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_13);
};
JvmOperation _method_12 = this._jvmTypesBuilder.toMethod(table, "tableSettingsByUserProperties", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_12);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_12, _method_12);
EList<JvmMember> _members_13 = type.getMembers();
final Procedure1<JvmOperation> _function_13 = (JvmOperation it) -> {
final Procedure1<ITreeAppendable> _function_14 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
String _dataRefresh = this.dataRefresh(table);
_builder.append(_dataRefresh);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_14);
};
JvmOperation _method_13 = this._jvmTypesBuilder.toMethod(table, "dataRefresh", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_13);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_13, _method_13);
EList<JvmMember> _members_14 = type.getMembers();
final Procedure1<JvmOperation> _function_14 = (JvmOperation it) -> {
final Procedure1<ITreeAppendable> _function_15 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
CharSequence _renderAllowed = this.renderAllowed();
_builder.append(_renderAllowed);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_15);
};
JvmOperation _method_14 = this._jvmTypesBuilder.toMethod(table, "renderAllowed", this._typeReferenceBuilder.typeRef(boolean.class), _function_14);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_14, _method_14);
}
if (!_matched) {
if (_tabletype instanceof TableGrid) {
_matched=true;
EList<JvmMember> _members_9 = type.getMembers();
final Procedure1<JvmOperation> _function_9 = (JvmOperation it) -> {
QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(this.getDtoGridTable(table).getDtoSource());
String _string = null;
if (_fullyQualifiedName!=null) {
_string=_fullyQualifiedName.toString();
}
final String gridDtoFqn = _string;
EObject _resolve = EcoreUtil2.resolve(this.getDtoGridTable(table).getDtoSource().getWrappedType(), table.eResource());
final LEntity entity = ((LEntity) _resolve);
final Procedure1<ITreeAppendable> _function_10 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
CharSequence _createGridComponent = this.createGridComponent(pkg, table, entity, gridDtoFqn);
_builder.append(_createGridComponent);
_builder.newLineIfNotEmpty();
_builder.append("return grid;");
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_10);
};
JvmOperation _method_9 = this._jvmTypesBuilder.toMethod(table, "createDtoGrid", this._typeReferenceBuilder.typeRef(com.vaadin.ui.Component.class), _function_9);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_9, _method_9);
}
}
EList<JvmMember> _members_9 = type.getMembers();
final Procedure1<JvmOperation> _function_9 = (JvmOperation it) -> {
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Override.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "locale", this._typeReferenceBuilder.typeRef(Locale.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
final Procedure1<ITreeAppendable> _function_10 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
CharSequence _localeChanged = this.localeChanged(table);
_builder.append(_localeChanged);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_10);
};
JvmOperation _method_9 = this._jvmTypesBuilder.toMethod(table, "localeChanged", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_9);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_9, _method_9);
EList<JvmMember> _members_10 = type.getMembers();
final Procedure1<JvmOperation> _function_10 = (JvmOperation it) -> {
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Override.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "event", this._typeReferenceBuilder.typeRef(EventDispatcherEvent.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
final Procedure1<ITreeAppendable> _function_11 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
String _receiveEvent = this.receiveEvent(table);
_builder.append(_receiveEvent);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_11);
};
JvmOperation _method_10 = this._jvmTypesBuilder.toMethod(table, "receiveEvent", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_10);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_10, _method_10);
if (((!this.isGrid(table)) && (!this.isEmbedded(table)))) {
EList<JvmMember> _members_11 = type.getMembers();
final Procedure1<JvmOperation> _function_11 = (JvmOperation it) -> {
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "changedFilter", this._typeReferenceBuilder.typeRef(DatamartFilter.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Override.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
final Procedure1<ITreeAppendable> _function_12 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
String _filterChanged = this.filterChanged(table);
_builder.append(_filterChanged);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_12);
};
JvmOperation _method_11 = this._jvmTypesBuilder.toMethod(table, "filterChanged", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_11);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_11, _method_11);
}
boolean _isTask = this.isTask(table);
if (_isTask) {
EList<JvmMember> _members_12 = type.getMembers();
final Procedure1<JvmOperation> _function_12 = (JvmOperation it) -> {
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "type", this._typeReferenceBuilder.typeRef(BPMTaskEventType.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
EList<JvmFormalParameter> _parameters_1 = it.getParameters();
JvmFormalParameter _parameter_1 = this._jvmTypesBuilder.toParameter(table, "event", this._typeReferenceBuilder.typeRef(BPMTaskUserEvent.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Override.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
final Procedure1<ITreeAppendable> _function_13 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
CharSequence _notifyTaskEvent = this.notifyTaskEvent(table);
_builder.append(_notifyTaskEvent);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_13);
};
JvmOperation _method_12 = this._jvmTypesBuilder.toMethod(table, "notifyTaskEvent", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_12);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_12, _method_12);
EList<JvmMember> _members_13 = type.getMembers();
final Procedure1<JvmOperation> _function_13 = (JvmOperation it) -> {
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Override.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
final Procedure1<ITreeAppendable> _function_14 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
CharSequence _notifyTaskEvent = this.notifyTaskEvent(table);
_builder.append(_notifyTaskEvent);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_14);
};
JvmOperation _method_13 = this._jvmTypesBuilder.toMethod(table, "notifyProcessCompletedEvent", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_13);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_13, _method_13);
}
boolean _isSelection = this.isSelection(table);
if (_isSelection) {
EList<JvmMember> _members_14 = type.getMembers();
final Procedure1<JvmOperation> _function_14 = (JvmOperation it) -> {
it.setVisibility(JvmVisibility.PUBLIC);
final Procedure1<ITreeAppendable> _function_15 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
CharSequence _selectItemsFromWorkloadDto = this.selectItemsFromWorkloadDto(table);
_builder.append(_selectItemsFromWorkloadDto);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_15);
};
JvmOperation _method_14 = this._jvmTypesBuilder.toMethod(table, "selectItemsFromWorkloadDto", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_14);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_14, _method_14);
EList<JvmMember> _members_15 = type.getMembers();
final Procedure1<JvmOperation> _function_15 = (JvmOperation it) -> {
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Override.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "selection", this._typeReferenceBuilder.typeRef(Object.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
EList<JvmFormalParameter> _parameters_1 = it.getParameters();
JvmFormalParameter _parameter_1 = this._jvmTypesBuilder.toParameter(table, "selected", this._typeReferenceBuilder.typeRef(boolean.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
final Procedure1<ITreeAppendable> _function_16 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
CharSequence _rowChecked = this.rowChecked(table);
_builder.append(_rowChecked);
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_16);
};
JvmOperation _method_15 = this._jvmTypesBuilder.toMethod(table, "rowChecked", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_15);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_15, _method_15);
}
boolean _isEmbedded = this.isEmbedded(table);
if (_isEmbedded) {
EList<JvmMember> _members_16 = type.getMembers();
final Procedure1<JvmOperation> _function_16 = (JvmOperation it) -> {
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Override.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(table, "event", this._typeReferenceBuilder.typeRef(ClientConnector.AttachEvent.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
final Procedure1<ITreeAppendable> _function_17 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("if(mustRefresh){");
_builder.newLine();
_builder.append("\t");
_builder.append("dataRefresh();");
_builder.newLine();
_builder.append("\t");
_builder.append("mustRefresh = false;");
_builder.newLine();
_builder.append("}");
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_17);
};
JvmOperation _method_16 = this._jvmTypesBuilder.toMethod(table, "attach", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_16);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_16, _method_16);
}
}
public LEntity baseType(final LEntity entityRef) {
if ((((entityRef.getSuperType() != null) &&
(!entityRef.getSuperType().isMappedSuperclass())) &&
(!entityRef.getSuperType().equals(entityRef)))) {
return entityRef.getSuperType();
}
return entityRef;
}
private Map<String, String> getUniqueReferenceFQIdName(final LEntity entity) {
Map<String, String> uniqueReferenceNames = new HashMap<String, String>();
List<LEntityReference> _allReferences = entity.getAllReferences();
for (final LEntityReference entityReference : _allReferences) {
{
String uniqueReferenceName = uniqueReferenceNames.get(this._iQualifiedNameProvider.getFullyQualifiedName(entityReference.getType()));
if ((uniqueReferenceName == null)) {
StringConcatenation _builder = new StringConcatenation();
QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(entityReference.getType());
_builder.append(_fullyQualifiedName);
_builder.append(".");
String _idAttributeName = entityReference.getType().getIdAttributeName();
_builder.append(_idAttributeName);
uniqueReferenceName = _builder.toString();
uniqueReferenceNames.put(this._iQualifiedNameProvider.getFullyQualifiedName(entityReference.getType()).toString(), uniqueReferenceName);
}
}
}
return uniqueReferenceNames;
}
protected CharSequence createGridComponent(final TablePackage pkg, final Table table, final LEntity entity, final String gridDtoFqn) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("IEclipseContext childContext = eclipseContext.createChild();");
_builder.newLine();
_builder.append("childContext.set(Locale.class, user.getLocale());");
_builder.newLine();
_builder.append("childContext.set(\"gridSourceId\", \"");
String _concat = pkg.getName().toString().concat(".").concat(table.getName()).concat("Grid");
_builder.append(_concat);
_builder.append("\");");
_builder.newLineIfNotEmpty();
_builder.append("LinkedHashMap<String, EventDispatcherEvent> selectionEvntList = new LinkedHashMap<>();");
_builder.newLine();
_builder.append("MPerspective perspective = eclipseContext.get(MPerspective.class);");
_builder.newLine();
_builder.append("EventDispatcherEvent evnt = new EventDispatcherEvent(perspective, EventDispatcherCommand.SELECT, \"");
QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(this.baseType(entity));
_builder.append(_fullyQualifiedName);
_builder.append(".");
String _idAttributeName = entity.getIdAttributeName();
_builder.append(_idAttributeName);
_builder.append("\", \"");
QualifiedName _fullyQualifiedName_1 = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder.append(_fullyQualifiedName_1);
_builder.append("\");");
_builder.newLineIfNotEmpty();
_builder.append("selectionEvntList.put(\"");
QualifiedName _fullyQualifiedName_2 = this._iQualifiedNameProvider.getFullyQualifiedName(this.baseType(entity));
_builder.append(_fullyQualifiedName_2);
_builder.append(".");
String _idAttributeName_1 = entity.getIdAttributeName();
_builder.append(_idAttributeName_1);
_builder.append("\", evnt);");
_builder.newLineIfNotEmpty();
{
Collection<String> _values = this.getUniqueReferenceFQIdName(entity).values();
for(final String entityReferenceFQIdName : _values) {
_builder.append("evnt = new EventDispatcherEvent(perspective, EventDispatcherCommand.SELECT, \"");
_builder.append(entityReferenceFQIdName);
_builder.append("\", \"");
QualifiedName _fullyQualifiedName_3 = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder.append(_fullyQualifiedName_3);
_builder.append("\");");
_builder.newLineIfNotEmpty();
_builder.append("selectionEvntList.put(\"");
_builder.append(entityReferenceFQIdName);
_builder.append("\", evnt);");
_builder.newLineIfNotEmpty();
}
}
_builder.append("childContext.set(\"selectionEvnt\", selectionEvntList);");
_builder.newLine();
_builder.append("if (\"");
_builder.append(gridDtoFqn);
_builder.append("\".equals(getTaskOperativeDtoFqn())) {");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("childContext.set(\"inputdata\", getTaskInitialOperativeDtos());");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.append("grid = ContextInjectionFactory.make(SingleInfoGridComponent.class, childContext);");
return _builder;
}
public String filterChanged(final Table table) {
String body = "";
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.newLineIfNotEmpty();
_builder.append("if(changedFilter != null) {");
_builder.newLine();
_builder.append("\t");
_builder.append("MPerspective perspective = eclipseContext.get(MPerspective.class);");
_builder.newLine();
_builder.append("\t");
_builder.append("EventDispatcherEvent evnt = new EventDispatcherEvent(perspective, EventDispatcherCommand.SELECT, changedFilter.getName(), \"");
QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder.append(_fullyQualifiedName, "\t");
_builder.append("\");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("evnt.addData(changedFilter.getSelectedData());");
_builder.newLine();
_builder.append("\t");
_builder.append("eventDispatcher.sendEvent(evnt);");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.append("dataRefresh();");
_builder.newLine();
body = _builder.toString();
return body;
}
public String receiveEvent(final Table table) {
String body = "";
boolean _isTable = this.isTable(table);
if (_isTable) {
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.newLineIfNotEmpty();
_builder.append("switch(event.getCommand()) {");
_builder.newLine();
_builder.append("\t");
_builder.append("case SELECT: ");
_builder.newLine();
_builder.append("\t\t");
_builder.append("MPerspective perspective = eclipseContext.get(MPerspective.class);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("ArrayList<String> allowedSenderParts = (ArrayList<String>) eclipseContext.getActive(MPart.class).getTransientData().get(IPerspectiveProvider.EventDispatcherConstants.ACCEPTED_SENDERS);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if((event.getPerspective() == null || (perspective != null && event.getPerspective().equals(perspective))) && ((allowedSenderParts != null && allowedSenderParts.contains(event.getSender())) || allowedSenderParts == null)){");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("if(!event.getSender().equals(\"");
QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder.append(_fullyQualifiedName, "\t\t\t");
_builder.append("\")) {");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t\t");
_builder.append("if(filterGenerator.selectItem(event, getSelectById())) {");
_builder.newLine();
{
if ((this.isEmbedded(table) || this.isTask(table))) {
_builder.append("\t\t\t\t\t");
_builder.append("createComponents();");
_builder.newLine();
} else {
_builder.append("\t\t\t\t\t");
_builder.append("renderData();");
_builder.newLine();
}
}
_builder.append("\t\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("break;");
_builder.newLine();
_builder.append("\t");
_builder.append("case SAVE:");
_builder.newLine();
_builder.append("\t");
_builder.append("case DELETE:");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if(!event.getSender().equals(\"");
QualifiedName _fullyQualifiedName_1 = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder.append(_fullyQualifiedName_1, "\t\t");
_builder.append("\")) {");
_builder.newLineIfNotEmpty();
{
Set<LEntity> _findRequestedEntities = this.findRequestedEntities(table);
for(final LEntity e : _findRequestedEntities) {
_builder.append("\t\t\t");
_builder.append("if(event.getTopic().equals(\"");
QualifiedName _fullyQualifiedName_2 = this._iQualifiedNameProvider.getFullyQualifiedName(e);
_builder.append(_fullyQualifiedName_2, "\t\t\t");
_builder.append("\")){");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t");
_builder.append("\t");
_builder.append("datamartInstance.clearCache();");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("\t");
_builder.append("if(datamartInstance.contains(event.getData().get(EventDispatcherDataTag.ID))) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("\t\t");
_builder.append("dataRefresh();");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
}
}
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("break;");
_builder.newLine();
_builder.append("\t");
_builder.append("case REFRESH:");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if(!event.getSender().equals(\"");
QualifiedName _fullyQualifiedName_3 = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder.append(_fullyQualifiedName_3, "\t\t");
_builder.append("\")) {");
_builder.newLineIfNotEmpty();
{
Set<LEntity> _findRequestedEntities_1 = this.findRequestedEntities(table);
for(final LEntity e_1 : _findRequestedEntities_1) {
_builder.append("\t\t\t");
_builder.append("if(event.getTopic().equals(\"");
QualifiedName _fullyQualifiedName_4 = this._iQualifiedNameProvider.getFullyQualifiedName(e_1);
_builder.append(_fullyQualifiedName_4, "\t\t\t");
_builder.append("\")){");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t");
_builder.append("\t");
_builder.append("datamartInstance.clearCache();");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("\t");
_builder.append("dataRefresh();");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
}
}
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("/* must be activated if sure that the filter is to be refreshed");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if (filterGenerator != null) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("filterGenerator.updateFilter();");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}*/");
_builder.newLine();
_builder.append("\t\t");
_builder.append("break;");
_builder.newLine();
body = _builder.toString();
if ((((!this.isEmbedded(table)) && (table.getTabletype().getToolbar() != null)) && (table.getTabletype().getToolbar().eContainer() != null))) {
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t");
_builder_1.append("case ACTION:");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("if (toolbarUUID.equals(event.getTopic()) && event.getData().containsKey(EventDispatcherDataTag.BUTTON_ID)) {");
_builder_1.newLine();
_builder_1.append("\t\t\t");
_builder_1.append("Object id = event.getData().get(EventDispatcherDataTag.BUTTON_ID);");
_builder_1.newLine();
_builder_1.append("\t\t\t");
_builder_1.append("if (id instanceof TableActionEnum) {");
_builder_1.newLine();
_builder_1.append("\t\t\t\t");
_builder_1.append("TableActionEnum enumId = (TableActionEnum) id;");
_builder_1.newLine();
_builder_1.append("\t\t\t\t");
_builder_1.append("switch (enumId) {");
_builder_1.newLine();
_builder_1.append("\t\t\t\t");
_builder_1.append("case EXPORT_EXCEL:");
_builder_1.newLine();
_builder_1.append("\t\t\t\t\t");
_builder_1.append("for(CellSetFilterTable table:tables) {");
_builder_1.newLine();
_builder_1.append("\t\t\t\t\t\t");
_builder_1.append("ExcelExport excelExport = new ExcelExport(table, themeResourceService);");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("excelExport.excludeCollapsedColumns();");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("excelExport.setReportTitle(layoutManager.getCaption());");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("excelExport.export();");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("\t ");
_builder_1.append("break;");
_builder_1.newLine();
_builder_1.append("\t\t\t\t");
_builder_1.append("case EXPORT_CSV:");
_builder_1.newLine();
_builder_1.append("\t\t\t\t\t");
_builder_1.append("for(CellSetFilterTable table:tables) {");
_builder_1.newLine();
_builder_1.append("\t\t\t\t\t\t");
_builder_1.append("CsvExport csvExport = new CsvExport(table, themeResourceService);");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("csvExport.excludeCollapsedColumns();");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("csvExport.setReportTitle(layoutManager.getCaption());");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("csvExport.export();");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("\t ");
_builder_1.append("break;");
_builder_1.newLine();
_builder_1.append("\t\t\t\t");
_builder_1.append("case EXPORT_PDF:");
_builder_1.newLine();
_builder_1.append("\t\t\t\t\t");
_builder_1.append("for(CellSetFilterTable table:tables) {");
_builder_1.newLine();
_builder_1.append("\t\t\t\t\t\t");
_builder_1.append("PdfExport pdfExport = new PdfExport(table, themeResourceService);");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("pdfExport.excludeCollapsedColumns();");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("pdfExport.setReportTitle(layoutManager.getCaption());");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("pdfExport.export();");
_builder_1.newLine();
_builder_1.append("\t\t ");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("\t\t\t\t\t");
_builder_1.append("break;");
_builder_1.newLine();
_builder_1.append("\t\t\t\t");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("\t\t\t");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("break;");
_builder_1.newLine();
body = _builder_1.toString();
}
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append(body);
_builder_2.newLineIfNotEmpty();
_builder_2.append("\t");
_builder_2.append("}");
_builder_2.newLine();
body = _builder_2.toString();
} else {
boolean _isGrid = this.isGrid(table);
if (_isGrid) {
StringConcatenation _builder_3 = new StringConcatenation();
_builder_3.append(body);
_builder_3.newLineIfNotEmpty();
_builder_3.append("switch(event.getCommand()) {");
_builder_3.newLine();
_builder_3.append("\t");
_builder_3.append("case SAVE:");
_builder_3.newLine();
_builder_3.append("\t");
_builder_3.append("case DELETE:");
_builder_3.newLine();
_builder_3.append("\t");
_builder_3.append("case REFRESH:");
_builder_3.newLine();
_builder_3.append("\t\t");
_builder_3.append("if(!event.getSender().equals(\"");
QualifiedName _fullyQualifiedName_5 = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder_3.append(_fullyQualifiedName_5, "\t\t");
_builder_3.append("\")) {");
_builder_3.newLineIfNotEmpty();
{
Set<LEntity> _findRequestedEntities_2 = this.findRequestedEntities(table);
for(final LEntity e_2 : _findRequestedEntities_2) {
_builder_3.append("\t\t\t");
_builder_3.append("if(event.getTopic().equals(\"");
QualifiedName _fullyQualifiedName_6 = this._iQualifiedNameProvider.getFullyQualifiedName(e_2);
_builder_3.append(_fullyQualifiedName_6, "\t\t\t");
_builder_3.append("\")){");
_builder_3.newLineIfNotEmpty();
_builder_3.append("\t\t\t");
_builder_3.append("\t");
_builder_3.append("// TODO: GridRefresh");
_builder_3.newLine();
_builder_3.append("\t\t\t");
_builder_3.append("\t");
_builder_3.append("grid.refreshData();");
_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("break;");
_builder_3.newLine();
_builder_3.append("}");
_builder_3.newLine();
body = _builder_3.toString();
}
}
return body;
}
public CharSequence refreshCondition(final LEntity entity) {
String _name = entity.getName();
return ((CharSequence) _name);
}
public String getCallDataRefreshMethod(final Table table) {
String _switchResult = null;
TableOption _tabletype = table.getTabletype();
boolean _matched = false;
if (_tabletype instanceof TableTable) {
_matched=true;
_switchResult = "dataRefresh();";
}
if (!_matched) {
if (_tabletype instanceof TableGrid) {
_matched=true;
_switchResult = "";
}
}
return _switchResult;
}
public CharSequence notifyTaskEvent(final Table table) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("mustRefresh = true;");
_builder.newLine();
return _builder;
}
/**
* <p>build the main method to be called from e4.</p>
*
* tablePageLabel = new Label();
* tablePageLabel.setContentMode(ContentMode.HTML);
* tablePageLabel.addStyleName("pagelabel");
* tablePageLabel.setId("tablePageLabel");
*
* «"Page".bindComponent("tablePageLabel", "Value")»
* tableItemsLabel = new Label();
* tableItemsLabel.setContentMode(ContentMode.HTML);
* tableItemsLabel.addStyleName("pagelabel");
* tableItemsLabel.setId("tableItemsLabel");
* «"Items per page".bindComponent("tableItemsLabel", "Value")»
*/
public String createView(final Table table, final TablePackage pkg) {
StringConcatenation _builder = new StringConcatenation();
{
boolean _isEmbedded = this.isEmbedded(table);
if (_isEmbedded) {
_builder.append("eclipseContext");
} else {
_builder.append("getContext()");
}
}
_builder.append(".set(IE4Table.class, this);");
_builder.newLineIfNotEmpty();
{
boolean _isTask = this.isTask(table);
if (_isTask) {
_builder.append("currentTaskId = -1L;");
_builder.newLine();
}
}
_builder.append("tables = new ArrayList<CellSetFilterTable>();");
_builder.newLine();
_builder.append("tableFilterDecorator = new TableFilterDecorator(dslMetadataService, user.getLocale());");
_builder.newLine();
_builder.append("// the timeout to begin the filter process after the last key pressed");
_builder.newLine();
_builder.append("tableFilterDecorator.setTextChangeTimeout(500);");
_builder.newLine();
_builder.append("parent.setPrimaryStyleName(\"osbp\");");
_builder.newLine();
_builder.append("parent.setId(\"parent\");");
_builder.newLine();
_builder.append("parent.setSizeFull();");
_builder.newLine();
{
boolean _isEmbedded_1 = this.isEmbedded(table);
if (_isEmbedded_1) {
_builder.append("parent.addAttachListener(this);");
}
}
_builder.newLineIfNotEmpty();
_builder.append("layoutManager = new ViewLayoutManager();");
_builder.newLine();
_builder.append("layoutManager.init(parent);");
_builder.newLine();
_builder.append("this.parent = parent;");
_builder.newLine();
String body = _builder.toString();
boolean _isGrid = this.isGrid(table);
boolean _not = (!_isGrid);
if (_not) {
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.newLineIfNotEmpty();
_builder_1.append("datamartInstance = new ");
String _sourceDataMartRefName = this.getSourceDataMartRefName(table);
_builder_1.append(_sourceDataMartRefName);
_builder_1.append("Datamart();");
_builder_1.newLineIfNotEmpty();
_builder_1.append("datamartInstance.setUser(user);");
_builder_1.newLine();
_builder_1.append("filterGenerator = new DatamartFilterGenerator(datamartInstance, ");
{
boolean _isEmbedded_2 = this.isEmbedded(table);
if (_isEmbedded_2) {
_builder_1.append("eclipseContext");
} else {
_builder_1.append("getContext()");
}
}
_builder_1.append(", ");
boolean _isShowCaption = this.getDataMartTable(table).getDatamartRef().isShowCaption();
_builder_1.append(_isShowCaption);
_builder_1.append(", ");
int _max = Integer.max(10, this.getDataMartTable(table).getDatamartRef().getNumMultiRows());
_builder_1.append(_max);
_builder_1.append(");");
_builder_1.newLineIfNotEmpty();
_builder_1.append("filterGenerator.createUIFilters(layoutManager);");
_builder_1.newLine();
body = _builder_1.toString();
}
boolean _isSelection = this.isSelection(table);
if (_isSelection) {
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append(body);
_builder_2.newLineIfNotEmpty();
_builder_2.append("workLoadItem = (IBlipBPMWorkloadModifiableItem)getTransientDataVariable(IBlipBPMConstants.VARIABLE_TASK_START_INFO);");
_builder_2.newLine();
_builder_2.append("taskSummary = (BPMTaskSummary)getTransientDataVariable(IBlipBPMConstants.VARIABLE_TASK_JBPM_SUMMARY);");
_builder_2.newLine();
body = _builder_2.toString();
}
StringConcatenation _builder_3 = new StringConcatenation();
_builder_3.append(body);
_builder_3.newLineIfNotEmpty();
_builder_3.append("coordinateSystem = new ArrayList<Integer>();");
_builder_3.newLine();
_builder_3.append("attributeLookupMap = new HashMap<>();");
_builder_3.newLine();
_builder_3.append("tabSheets = new HashMap<>();");
body = _builder_3.toString();
if (((!this.isEmbedded(table)) && (table.getTabletype().getToolbar() != null))) {
StringConcatenation _builder_4 = new StringConcatenation();
_builder_4.append(body);
_builder_4.newLineIfNotEmpty();
_builder_4.append("toolbarUUID = UUID.randomUUID().toString();");
_builder_4.newLine();
_builder_4.append("toolbarClass = new ");
String _firstUpper = StringExtensions.toFirstUpper(table.getTabletype().getToolbar().getName().toString());
_builder_4.append(_firstUpper);
_builder_4.append("Toolbar();");
_builder_4.newLineIfNotEmpty();
_builder_4.append("toolbarClass.createToolbar(eclipseContext, renderingEngine, themeResourceService, toolbarUUID);");
body = _builder_4.toString();
}
StringConcatenation _builder_5 = new StringConcatenation();
_builder_5.append(body);
_builder_5.newLineIfNotEmpty();
_builder_5.append("initDone = true;");
_builder_5.newLine();
body = _builder_5.toString();
return body;
}
public boolean isTask(final Table table) {
return ((this.getDataMartTable(table) instanceof TableDatamart) &&
(((TableDatamart) this.getDataMartTable(table)).getDatamartRef().getSource() instanceof DatamartTask));
}
public boolean isCube(final Table table) {
return ((this.getDataMartTable(table) instanceof TableDatamart) &&
(((TableDatamart) this.getDataMartTable(table)).getDatamartRef().getSource() instanceof DatamartCube));
}
public boolean isGrid(final Table table) {
TableOption _tabletype = table.getTabletype();
return (_tabletype instanceof TableGrid);
}
public boolean isTable(final Table table) {
TableOption _tabletype = table.getTabletype();
return (_tabletype instanceof TableTable);
}
public boolean isEmbedded(final Table table) {
return table.getTabletype().isEmbedded();
}
public boolean isSelection(final Table table) {
TableOption _tabletype = table.getTabletype();
return (_tabletype instanceof TableSelection);
}
public CharSequence renderAllowed() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("if (getSelectById()) {");
_builder.newLine();
_builder.append("\t");
_builder.append("for (DatamartFilter filter : datamartInstance.getFilters()) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if(filter.isOptional()) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("return true;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if(!filter.getSql().isEmpty()) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("return true;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("} ");
_builder.newLine();
_builder.append("\t");
_builder.append("return false;");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.append("return true;");
return _builder;
}
public String dataRefresh(final Table table) {
String body = "";
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.newLineIfNotEmpty();
_builder.append("try {");
_builder.newLine();
_builder.append("\t");
_builder.append("// if no current ui found");
_builder.newLine();
_builder.append("\t");
_builder.append("if (UI.getCurrent() == null) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("for(CellSetFilterTable table:tables) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("UI.setCurrent(table.getUI());");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("break;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("if(dataSourceContainer== null || !dataSourceContainer.updateContainer(getCellSet(true))) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("log.debug(\"cannot update container - full refresh\");");
_builder.newLine();
{
boolean _isEmbedded = this.isEmbedded(table);
if (_isEmbedded) {
_builder.append("\t\t");
_builder.append("createComponents();");
_builder.newLine();
} else {
_builder.append("\t\t");
_builder.append("renderData();");
_builder.newLine();
}
}
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("for(CellSetFilterTable table:tables) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("table.sanitizeSelection();");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("} catch (Exception e) {");
_builder.newLine();
_builder.append("\t");
_builder.append("StringWriter sw = new StringWriter();");
_builder.newLine();
_builder.append("\t");
_builder.append("e.printStackTrace(new PrintWriter(sw));");
_builder.newLine();
_builder.append("\t");
_builder.append("String exceptionDetails = sw.toString();");
_builder.newLine();
_builder.append("\t");
_builder.append("log.error(\"table data refresh:{}\", exceptionDetails);");
_builder.newLine();
_builder.append("}");
body = _builder.toString();
return body;
}
/**
* <p>build the data components.</p>
*/
public String createComponents(final Table table, final String clsName) {
String body = "";
TableDatamart _dataMartTable = this.getDataMartTable(table);
boolean _tripleNotEquals = (_dataMartTable != null);
if (_tripleNotEquals) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("if (renderAllowed()){");
_builder.newLine();
_builder.append("\t");
_builder.append("// get the results");
_builder.newLine();
_builder.append("\t");
_builder.append("final DerivedCellSet cellSet = getCellSet(true);");
_builder.newLine();
_builder.append("\t");
_builder.append("if (cellSet == null) {");
_builder.newLine();
_builder.append("\t\t");
{
boolean _isEmbedded = this.isEmbedded(table);
boolean _not = (!_isEmbedded);
if (_not) {
_builder.append("promptSecurityMessage(dslMetadataService.translate(user.getLocale().toLanguageTag(), \"securityMessage\"), layoutManager.getDataArea());");
}
}
_builder.newLineIfNotEmpty();
_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();
{
boolean _isSelection = this.isSelection(table);
if (_isSelection) {
_builder.append("\t\t");
_builder.append("for(CellSetFilterTable table:tables) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t");
_builder.append("if(table instanceof CheckboxSelectionCellSetFilterTable) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("((CheckboxSelectionCellSetFilterTable)table).removeTableRowCheckListener(this);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
}
}
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("getCoordinateSystem().clear();");
_builder.newLine();
_builder.append("\t");
_builder.append("tables.clear();");
_builder.newLine();
_builder.append("\t");
_builder.append("// generate a new result component");
_builder.newLine();
_builder.append("\t");
_builder.append("if (cellSet != null) {");
_builder.newLine();
{
if (((!this.isTask(table)) && (!this.isCube(table)))) {
_builder.append("\t\t");
_builder.append("if(moreToLoad) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t");
_builder.append("Runnable backgroundFetch = new Runnable() {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("public void run() {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t ");
_builder.append("operativeDtoContainer = null;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t ");
_builder.append("final DerivedCellSet cellSetAll = datamartInstance.getResults(false, getTaskOperativeDtoClass(), getTaskInitialOperativeDtos());");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t ");
_builder.append("if\t(cellSet != null) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t \t");
_builder.append("operativeDtoContainer = cellSet.getOperativeDtoContainer();");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t ");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("for(CellSetFilterTable table:tables) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t\t ");
_builder.append("dataSourceContainer = new CellSetIndexedContainer(eclipseContext, attributeLookupMap, cellSetAll, coordinateSystem, false);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("UI.getCurrent().access(new Runnable() {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("public void run() {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t\t\t\t ");
_builder.append("table.setContainerDataSource(dataSourceContainer);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t\t\t\t ");
_builder.append("initTable(table, cellSetAll);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t\t\t\t ");
_builder.append("filterGenerator.addFilterChangeListener(");
_builder.append(clsName, "\t\t\t\t\t\t\t ");
_builder.append(".this);");
_builder.newLineIfNotEmpty();
_builder.append("\t\t");
_builder.append("\t\t\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t\t\t");
_builder.append("});");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t");
_builder.append("};");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t");
_builder.append("new Thread(backgroundFetch).start();");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t");
_builder.append("moreToLoad = false;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("} else {");
_builder.newLine();
_builder.append("\t\t");
_builder.append(" ");
_builder.append("filterGenerator.addFilterChangeListener(");
_builder.append(clsName, "\t\t ");
_builder.append(".this);");
_builder.newLineIfNotEmpty();
_builder.append("\t\t");
_builder.append("}");
_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 ");
String _name = this.getDataMartTable(table).getDatamartRef().getName();
_builder.append(_name, "\t\t\t");
_builder.append(" are needed to render ");
String _name_1 = table.getName();
_builder.append(_name_1, "\t\t\t");
_builder.append("\");");
_builder.newLineIfNotEmpty();
_builder.append("\t\t");
_builder.append("} else {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("dataComponent = createTabSheet(cellSet, cellSet.getAxes().size());");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("if\t(dataComponent != null) {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("dataComponent.setSizeFull();");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("dataComponent.setId(\"dataComponent\");");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("layoutManager.getDataArea().addComponent(dataComponent);");
_builder.newLine();
{
boolean _isSelection_1 = this.isSelection(table);
if (_isSelection_1) {
_builder.append("\t\t\t\t");
_builder.append("selectItemsFromWorkloadDto();");
_builder.newLine();
}
}
_builder.append("\t\t\t\t");
_builder.append("layoutManager.getDataArea().setExpandRatio(dataComponent, 1);");
_builder.newLine();
_builder.append("\t\t\t\t");
String _selectAlways = this.getSelectAlways(table);
_builder.append(_selectAlways, "\t\t\t\t");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_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 ");
String _name_2 = this.getDataMartTable(table).getDatamartRef().getName();
_builder.append(_name_2, "\t\t");
_builder.append(" generates no results\");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
body = _builder.toString();
} else {
boolean _isGrid = this.isGrid(table);
if (_isGrid) {
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("// remove any previous component");
_builder_1.newLine();
_builder_1.append("if\t(dataComponent != null) {");
_builder_1.newLine();
_builder_1.append("\t");
_builder_1.append("layoutManager.getDataArea().removeComponent(dataComponent);");
_builder_1.newLine();
_builder_1.append("\t");
_builder_1.append("dataComponent = null;");
_builder_1.newLine();
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("dataComponent = createDtoGrid();");
_builder_1.newLine();
_builder_1.append("dataComponent.setSizeFull();");
_builder_1.newLine();
_builder_1.append("dataComponent.setId(\"dataComponent\");");
_builder_1.newLine();
_builder_1.append("layoutManager.getDataArea().addComponent(dataComponent);");
_builder_1.newLine();
_builder_1.append("layoutManager.getDataArea().setExpandRatio(dataComponent, 1);");
_builder_1.newLine();
body = _builder_1.toString();
}
}
return body;
}
public String getSelectAlways(final Table table) {
String body = "";
if ((this.isTable(table) && ((TableTable) table.getTabletype()).isSelectalways())) {
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.newLineIfNotEmpty();
_builder.append("UI.getCurrent().access(new Runnable() {");
_builder.newLine();
_builder.append("\t");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t");
_builder.append("public void run() {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("for(CellSetFilterTable table:tables) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("if (table.getItemIds().size()>0) {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("table.select(table.getItemIds().iterator().next());");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("});");
body = _builder.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 Table table) {
String body = "";
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.newLineIfNotEmpty();
_builder.append("// either create a recursive tabsheet or a table");
_builder.newLine();
_builder.append("Component component = null;");
_builder.newLine();
_builder.append("if\t(axisNo == 2) {");
_builder.newLine();
_builder.append("\t");
_builder.append("component = createTable(cellSet);");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.append("else {\t\t");
_builder.newLine();
_builder.append("\t");
_builder.append("Integer axis = axisNo-1;");
_builder.newLine();
_builder.append("\t");
_builder.append("TabSheet tabsheet = new TabSheet();");
_builder.newLine();
_builder.append("\t");
_builder.append("tabsheet.setSizeFull();");
_builder.newLine();
_builder.append("\t");
_builder.append("tabsheet.addSelectedTabChangeListener(new SelectedTabChangeListener() {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t\t");
_builder.append("public void selectedTabChange(SelectedTabChangeEvent event) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("if(tabSheets.containsKey(event.getTabSheet())) {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("getCoordinateSystem().clear();");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("getCoordinateSystem().addAll(getCoordinates(event.getTabSheet()));");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("private Collection<? extends Integer> getCoordinates(TabSheet tabsheet) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("if(!(tabsheet.getTab(tabsheet.getSelectedTab()) instanceof TabSheet)) {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("int index = tabsheet.getTabPosition(tabsheet.getTab(tabsheet.getSelectedTab()));");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("return tabSheets.get(tabsheet).get(index);");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("return getCoordinates((TabSheet)tabsheet.getTab(tabsheet.getSelectedTab()));");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("});");
_builder.newLine();
_builder.append("\t");
_builder.append("tabSheets.put(tabsheet, new ArrayList<>());");
_builder.newLine();
_builder.append("\t");
_builder.append("DerivedAxis tabAxis = cellSet.getAxes().get(axis);");
_builder.newLine();
_builder.append("\t");
_builder.append("// create a tab page for all tab axis members");
_builder.newLine();
_builder.append("\t");
_builder.append("int tabNo = 0;");
_builder.newLine();
_builder.append("\t");
_builder.append("for\t(DerivedPosition column : tabAxis.getPositions()) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("// create the title for the axis");
_builder.newLine();
_builder.append("\t\t");
_builder.append("String title = null;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("for (DerivedMember member : column.getMembers()) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("if\t(title == null) {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("title = dslMetadataService.translate(user.getLocale().toLanguageTag(), member.getCaption());");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("else {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("title += \" / \"+dslMetadataService.translate(user.getLocale().toLanguageTag(), member.getCaption());");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("// position the data to this coordinate");
_builder.newLine();
_builder.append("\t\t");
_builder.append("getCoordinateSystem().set(axis, tabNo);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("tabSheets.get(tabsheet).add(new ArrayList<Integer>(getCoordinateSystem()));");
_builder.newLine();
_builder.append("\t\t");
_builder.append("component = createTabSheet(cellSet, axis);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("// set the caption");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if (component != null) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("component.setCaption(title);");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("tabsheet.addComponent(component);");
_builder.newLine();
_builder.append(" \t\t");
_builder.append("if (component instanceof CellSetFilterTable) {");
_builder.newLine();
_builder.append("\t \t\t");
_builder.append("tabsheet.addComponent(((CellSetFilterTable)component));");
_builder.newLine();
_builder.append(" \t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("tabNo++;");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("component = tabsheet;");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.append("return component;");
body = _builder.toString();
return body;
}
/**
* <p>build the table component.</p>
*/
public String createTable(final Table table) {
String _xblockexpression = null;
{
String body = "";
String constructTable = "final CellSetFilterTable table = new CellSetFilterTable();";
boolean multiSelect = false;
boolean _isSelection = this.isSelection(table);
if (_isSelection) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("final CheckboxSelectionCellSetFilterTable table = new CheckboxSelectionCellSetFilterTable();");
_builder.newLine();
_builder.append("table.addTableRowCheckListener(this);");
_builder.newLine();
_builder.append("selectTable = table;");
_builder.newLine();
constructTable = _builder.toString();
TableOption _tabletype = table.getTabletype();
multiSelect = ((TableSelection) _tabletype).isMultiSelection();
}
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.append(constructTable);
_builder_1.newLineIfNotEmpty();
_builder_1.append("VerticalLayout tableLayout = new VerticalLayout();");
_builder_1.newLine();
{
if ((this.isEmbedded(table) && this.isTask(table))) {
_builder_1.append("taskButtons = new ArrayList<Button>();");
_builder_1.newLine();
_builder_1.append("HorizontalLayout tools = new HorizontalLayout();");
_builder_1.newLine();
_builder_1.append("tools.addStyleName(\"os-embedded-toolbar\");");
_builder_1.newLine();
_builder_1.append("tools.setSpacing(false);");
_builder_1.newLine();
_builder_1.newLine();
_builder_1.append("Button b = new Button(null, new Button.ClickListener() {");
_builder_1.newLine();
_builder_1.append(" ");
_builder_1.append("public void buttonClick(ClickEvent event) {");
_builder_1.newLine();
_builder_1.append(" \t");
_builder_1.append("taskClient.operations(dataSourceContainer.getTaskId((int)table.getValue()), user, null, BPMOperation.Start);");
_builder_1.newLine();
_builder_1.append(" \t");
_builder_1.append("MPerspective perspective = eclipseContext.get(MPerspective.class);");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("EventDispatcherEvent evnt = new EventDispatcherEvent(perspective, EventDispatcherCommand.CLOSE, \"UserMenu\", \"");
QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder_1.append(_fullyQualifiedName, "\t\t");
_builder_1.append("\");");
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t");
_builder_1.append("eventDispatcher.sendEvent(evnt);");
_builder_1.newLine();
_builder_1.append(" ");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("});");
_builder_1.newLine();
_builder_1.append("b.setIcon(themeResourceService.getThemeResource(\"task_action_resume\", ThemeResourceType.ICON));");
_builder_1.newLine();
_builder_1.append("b.setDescription(null);");
_builder_1.newLine();
_builder_1.append("b.setEnabled(false);");
_builder_1.newLine();
_builder_1.append("b.addStyleName(\"v-button-small\");");
_builder_1.newLine();
_builder_1.append("tools.addComponent(b);");
_builder_1.newLine();
_builder_1.append("taskButtons.add(b);");
_builder_1.newLine();
_builder_1.append("tableLayout.addComponent(tools);");
_builder_1.newLine();
}
}
_builder_1.append("table.setImmediate(true);");
_builder_1.newLine();
_builder_1.append("table.setMultiSelect(");
_builder_1.append(multiSelect);
_builder_1.append(");");
_builder_1.newLineIfNotEmpty();
_builder_1.append("table.setColumnCollapsingAllowed(true);");
_builder_1.newLine();
_builder_1.append("table.setColumnReorderingAllowed(true);");
_builder_1.newLine();
_builder_1.append("table.setId(\"table\");");
_builder_1.newLine();
{
boolean _isTable = this.isTable(table);
if (_isTable) {
_builder_1.append("table.setRowHeaderMode(RowHeaderMode.");
{
TableOption _tabletype_1 = table.getTabletype();
RowHeaderMode _headerMode = ((TableTable) _tabletype_1).getHeaderMode();
boolean _tripleNotEquals = (_headerMode != null);
if (_tripleNotEquals) {
TableOption _tabletype_2 = table.getTabletype();
String _name = ((TableTable) _tabletype_2).getHeaderMode().name();
_builder_1.append(_name);
} else {
_builder_1.append("HIDDEN");
}
}
_builder_1.append(");");
_builder_1.newLineIfNotEmpty();
}
}
_builder_1.append("table.setFilterDecorator(tableFilterDecorator);");
_builder_1.newLine();
_builder_1.append("table.setFilterBarVisible(");
boolean _booleanValue = Boolean.valueOf(table.getTabletype().isFiltering()).booleanValue();
_builder_1.append(_booleanValue);
_builder_1.append(");");
_builder_1.newLineIfNotEmpty();
_builder_1.append("table.setSelectable(true);");
_builder_1.newLine();
_builder_1.append("table.setSizeFull();");
_builder_1.newLine();
_builder_1.append("tableLayout.addComponent(table);");
_builder_1.newLine();
_builder_1.append("tables.add(table);");
_builder_1.newLine();
_builder_1.append("initTable(table, cellSet);");
_builder_1.newLine();
_builder_1.append("return tableLayout;");
_xblockexpression = body = _builder_1.toString();
}
return _xblockexpression;
}
/**
* <p>build the table component.</p>
*/
public String initTable(final Table table) {
String body = "";
TableAxis category_axis = null;
TableAxis data_axis = null;
HashMap<String, IdAttribute> idMap = CollectionLiterals.<String, IdAttribute>newHashMap();
HashMap<String, FormatAttribute> formatMap = CollectionLiterals.<String, FormatAttribute>newHashMap();
HashMap<String, Map<Double, Map<String, String>>> intervalStyleMap = CollectionLiterals.<String, Map<Double, Map<String, String>>>newHashMap();
HashMap<String, Map<Double, Map<String, String>>> intervalIconMap = CollectionLiterals.<String, Map<Double, Map<String, String>>>newHashMap();
HashMap<String, Map<Double, Map<String, String>>> intervalTooltipMap = CollectionLiterals.<String, Map<Double, Map<String, String>>>newHashMap();
HashMap<String, Map<Double, Map<String, String>>> numberLookupStyleMap = CollectionLiterals.<String, Map<Double, Map<String, String>>>newHashMap();
HashMap<String, Map<Double, Map<String, String>>> numberLookupIconMap = CollectionLiterals.<String, Map<Double, Map<String, String>>>newHashMap();
HashMap<String, Map<Double, Map<String, String>>> numberLookupTooltipMap = CollectionLiterals.<String, Map<Double, Map<String, String>>>newHashMap();
HashMap<String, Map<Integer, Map<String, String>>> intIntervalStyleMap = CollectionLiterals.<String, Map<Integer, Map<String, String>>>newHashMap();
HashMap<String, Map<Integer, Map<String, String>>> intIntervalIconMap = CollectionLiterals.<String, Map<Integer, Map<String, String>>>newHashMap();
HashMap<String, Map<Integer, Map<String, String>>> intIntervalTooltipMap = CollectionLiterals.<String, Map<Integer, Map<String, String>>>newHashMap();
HashMap<String, Map<Integer, Map<String, String>>> intLookupStyleMap = CollectionLiterals.<String, Map<Integer, Map<String, String>>>newHashMap();
HashMap<String, Map<Integer, Map<String, String>>> intLookupIconMap = CollectionLiterals.<String, Map<Integer, Map<String, String>>>newHashMap();
HashMap<String, Map<Integer, Map<String, String>>> intLookupTooltipMap = CollectionLiterals.<String, Map<Integer, Map<String, String>>>newHashMap();
HashMap<String, Map<String, Map<String, String>>> stringLookupStyleMap = CollectionLiterals.<String, Map<String, Map<String, String>>>newHashMap();
HashMap<String, Map<String, Map<String, String>>> stringLookupIconMap = CollectionLiterals.<String, Map<String, Map<String, String>>>newHashMap();
HashMap<String, Map<String, Map<String, String>>> stringLookupTooltipMap = CollectionLiterals.<String, Map<String, Map<String, String>>>newHashMap();
HashMap<String, Map<Double, Map<String, String>>> dateLookupStyleMap = CollectionLiterals.<String, Map<Double, Map<String, String>>>newHashMap();
HashMap<String, Map<Double, Map<String, String>>> dateLookupIconMap = CollectionLiterals.<String, Map<Double, Map<String, String>>>newHashMap();
HashMap<String, Map<Double, Map<String, String>>> dateLookupTooltipMap = CollectionLiterals.<String, Map<Double, Map<String, String>>>newHashMap();
HashMap<String, String> blobLookupMap = CollectionLiterals.<String, String>newHashMap();
HashMap<String, String> enumLookupMap = CollectionLiterals.<String, String>newHashMap();
String rowStyle = "";
EList<TableElement> _elements = this.getDataMartTable(table).getElements();
for (final TableElement element : _elements) {
if ((element instanceof TableAxis)) {
TableAxis axis = ((TableAxis) element);
boolean _equals = axis.getAxis().getName().equals("COLUMNS");
if (_equals) {
data_axis = axis;
}
boolean _equals_1 = axis.getAxis().getName().equals("ROWS");
if (_equals_1) {
category_axis = axis;
}
}
}
if ((category_axis == null)) {
category_axis = TableDSLFactory.eINSTANCE.createTableAxis();
category_axis.setAxis(AxisEnum.ROWS);
this.getDataMartTable(table).getElements().add(category_axis);
}
if ((data_axis == null)) {
data_axis = TableDSLFactory.eINSTANCE.createTableAxis();
data_axis.setAxis(AxisEnum.COLUMNS);
this.getDataMartTable(table).getElements().add(data_axis);
}
this.initBlobLookup(table, blobLookupMap);
this.initEnumLookup(table, enumLookupMap);
this.initIdMap(table, idMap);
boolean _isHasDetails = category_axis.isHasDetails();
if (_isHasDetails) {
this.initPropertyLookups(category_axis, formatMap, intervalStyleMap, intervalIconMap, intervalTooltipMap, numberLookupStyleMap, numberLookupIconMap, numberLookupTooltipMap, intIntervalStyleMap, intIntervalIconMap, intIntervalTooltipMap, intLookupStyleMap, intLookupIconMap, intLookupTooltipMap, stringLookupStyleMap, stringLookupIconMap, stringLookupTooltipMap, dateLookupStyleMap, dateLookupIconMap, dateLookupTooltipMap);
}
boolean _isHasDetails_1 = data_axis.isHasDetails();
if (_isHasDetails_1) {
this.initPropertyLookups(data_axis, formatMap, intervalStyleMap, intervalIconMap, intervalTooltipMap, numberLookupStyleMap, numberLookupIconMap, numberLookupTooltipMap, intIntervalStyleMap, intIntervalIconMap, intIntervalTooltipMap, intLookupStyleMap, intLookupIconMap, intLookupTooltipMap, stringLookupStyleMap, stringLookupIconMap, stringLookupTooltipMap, dateLookupStyleMap, dateLookupIconMap, dateLookupTooltipMap);
}
if ((((((((intervalStyleMap.keySet().size() + numberLookupStyleMap.keySet().size()) + stringLookupStyleMap.keySet().size()) + intLookupStyleMap.keySet().size()) + intIntervalStyleMap.keySet().size()) +
dateLookupStyleMap.keySet().size()) > 0) || category_axis.isHasRowHeight())) {
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.append("// add styles to page for the axis\'s custom styles");
_builder.newLineIfNotEmpty();
_builder.append("Styles styles = Page.getCurrent().getStyles();");
_builder.newLine();
body = _builder.toString();
}
boolean _isHasRowHeight = category_axis.isHasRowHeight();
if (_isHasRowHeight) {
this.customformatCounter = (this.customformatCounter + 1);
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("rowcustomformat");
_builder_1.append(this.customformatCounter);
rowStyle = _builder_1.toString();
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append(body);
_builder_2.append("styles.add(\".v-table-row-");
_builder_2.append(rowStyle);
_builder_2.append(" {height: ");
String _rowHeight = category_axis.getRowHeight();
_builder_2.append(_rowHeight);
_builder_2.append("px;}\");");
_builder_2.newLineIfNotEmpty();
body = _builder_2.toString();
}
StringConcatenation _builder_3 = new StringConcatenation();
_builder_3.append(body);
String _createStyles = this.createStyles(intervalStyleMap, numberLookupStyleMap, intIntervalStyleMap, intLookupStyleMap, stringLookupStyleMap, dateLookupStyleMap);
_builder_3.append(_createStyles);
_builder_3.append(" ");
body = _builder_3.toString();
StringConcatenation _builder_4 = new StringConcatenation();
_builder_4.append(body);
String _generatePropertyLookups = this.generatePropertyLookups(idMap, formatMap, intervalStyleMap, intervalIconMap, intervalTooltipMap, numberLookupStyleMap, numberLookupIconMap, numberLookupTooltipMap, intIntervalStyleMap, intIntervalIconMap, intIntervalTooltipMap, intLookupStyleMap, intLookupIconMap, intLookupTooltipMap, stringLookupStyleMap, stringLookupIconMap, stringLookupTooltipMap, dateLookupStyleMap, dateLookupIconMap, dateLookupTooltipMap, blobLookupMap, enumLookupMap);
_builder_4.append(_generatePropertyLookups);
body = _builder_4.toString();
StringConcatenation _builder_5 = new StringConcatenation();
_builder_5.append(body);
_builder_5.append("// DO NOT MOVE THESE LINES!!!!! The data source container creation has to be before the user properties readings");
_builder_5.newLineIfNotEmpty();
_builder_5.append("dataSourceContainer = new CellSetIndexedContainer(eclipseContext, attributeLookupMap, cellSet, coordinateSystem, ");
boolean _isDatamartCrossJoined = this.isDatamartCrossJoined(table);
_builder_5.append(_isDatamartCrossJoined);
_builder_5.append(");");
_builder_5.newLineIfNotEmpty();
_builder_5.append("table.setContainerDataSource(dataSourceContainer);");
_builder_5.newLine();
_builder_5.append("dataSourceContainer.addExtras(table);");
_builder_5.newLine();
_builder_5.append("tableSettingsByUserProperties(table);");
_builder_5.newLine();
body = _builder_5.toString();
StringConcatenation _builder_6 = new StringConcatenation();
_builder_6.append(body);
_builder_6.newLineIfNotEmpty();
String _sendEvent = this.sendEvent(table);
_builder_6.append(_sendEvent);
_builder_6.newLineIfNotEmpty();
CharSequence _columnCollapsedListener = this.columnCollapsedListener();
_builder_6.append(_columnCollapsedListener);
_builder_6.newLineIfNotEmpty();
CharSequence _columnReorderListener = this.columnReorderListener();
_builder_6.append(_columnReorderListener);
_builder_6.newLineIfNotEmpty();
CharSequence _columnResizeListener = this.columnResizeListener();
_builder_6.append(_columnResizeListener);
_builder_6.newLineIfNotEmpty();
body = _builder_6.toString();
boolean _isHasRowHeight_1 = category_axis.isHasRowHeight();
if (_isHasRowHeight_1) {
StringConcatenation _builder_7 = new StringConcatenation();
_builder_7.append(body);
_builder_7.append("dataSourceContainer.setRowStyle(\"");
_builder_7.append(rowStyle);
_builder_7.append("\");");
_builder_7.newLineIfNotEmpty();
body = _builder_7.toString();
}
boolean _isTable = this.isTable(table);
if (_isTable) {
TableDatamart _dataMartTable = this.getDataMartTable(table);
if ((_dataMartTable instanceof TableDatamart)) {
TableDatamart _dataMartTable_1 = this.getDataMartTable(table);
EList<TableElement> _elements_1 = ((TableDatamart) _dataMartTable_1).getElements();
for (final TableElement element_1 : _elements_1) {
if ((element_1 instanceof TableAxis)) {
TablePreorder _preOrder = ((TableAxis) element_1).getPreOrder();
boolean _tripleNotEquals = (_preOrder != null);
if (_tripleNotEquals) {
StringConcatenation _builder_8 = new StringConcatenation();
_builder_8.append(body);
String _preOrder_1 = this.preOrder(((TableAxis) element_1).getPreOrder(), ((TableAxis) element_1));
_builder_8.append(_preOrder_1);
body = _builder_8.toString();
}
}
}
}
}
boolean _isSelection = this.isSelection(table);
if (_isSelection) {
StringConcatenation _builder_9 = new StringConcatenation();
_builder_9.append(body);
_builder_9.newLineIfNotEmpty();
_builder_9.append("selectItemsFromWorkloadDto();");
_builder_9.newLine();
body = _builder_9.toString();
}
return body;
}
public boolean isDatamartCrossJoined(final Table table) {
TableDatamart _dataMartTable = this.getDataMartTable(table);
return this.datamartInferrer.isCrossJoined(((TableDatamart) _dataMartTable).getDatamartRef());
}
public String modifyOddStyle(final String style) {
int start = style.indexOf("background-color:");
int end = 0;
if ((start >= 0)) {
int pos = style.indexOf("(", start);
if ((pos >= 0)) {
String newrgb = "";
end = style.indexOf(")", pos);
String rgb = style.substring((pos + 1), end);
String[] colors = rgb.split(",");
for (final String color : colors) {
{
int colorValue = Integer.parseInt(color);
int diff = 15;
if ((diff > colorValue)) {
diff = colorValue;
}
colorValue = (colorValue - diff);
StringConcatenation _builder = new StringConcatenation();
_builder.append(newrgb);
{
int _length = newrgb.length();
boolean _greaterThan = (_length > 0);
if (_greaterThan) {
_builder.append(",");
}
}
String _string = Integer.valueOf(colorValue).toString();
_builder.append(_string);
newrgb = _builder.toString();
}
}
StringConcatenation _builder = new StringConcatenation();
String _substring = style.substring(0, start);
_builder.append(_substring);
_builder.append("background-color: rgb(");
_builder.append(newrgb);
_builder.append(")");
String _substring_1 = style.substring((end + 1));
_builder.append(_substring_1);
return _builder.toString();
}
}
return style;
}
/**
* <p>collected styles from the model are applied to code. Styles aside from the CSS are created at runtime.</p>
*/
public String createStyles(final HashMap<String, Map<Double, Map<String, String>>> intervalStyleMap, final HashMap<String, Map<Double, Map<String, String>>> numberLookupStyleMap, final HashMap<String, Map<Integer, Map<String, String>>> intIntervalStyleMap, final HashMap<String, Map<Integer, Map<String, String>>> intLookupStyleMap, final HashMap<String, Map<String, Map<String, String>>> stringLookupStyleMap, final HashMap<String, Map<Double, Map<String, String>>> dateLookupStyleMap) {
String stylePrefix = ".v-table-cell-content-";
String body = "";
Set<String> _keySet = intervalStyleMap.keySet();
for (final String format : _keySet) {
Set<Double> _keySet_1 = intervalStyleMap.get(format).keySet();
for (final Double interval : _keySet_1) {
Set<String> _keySet_2 = intervalStyleMap.get(format).get(interval).keySet();
for (final String style : _keySet_2) {
{
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.append("styles.add(\"");
_builder.append(stylePrefix);
_builder.append(style);
_builder.append(" {");
String _get = intervalStyleMap.get(format).get(interval).get(style);
_builder.append(_get);
_builder.append("}\");");
_builder.newLineIfNotEmpty();
body = _builder.toString();
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.append("styles.add(\"");
_builder_1.append(stylePrefix);
_builder_1.append(style);
_builder_1.append("-odd {");
String _modifyOddStyle = this.modifyOddStyle(
intervalStyleMap.get(format).get(interval).get(style));
_builder_1.append(_modifyOddStyle);
_builder_1.append("}\");");
_builder_1.newLineIfNotEmpty();
body = _builder_1.toString();
}
}
}
}
Set<String> _keySet_3 = numberLookupStyleMap.keySet();
for (final String format_1 : _keySet_3) {
Set<Double> _keySet_4 = numberLookupStyleMap.get(format_1).keySet();
for (final Double interval_1 : _keySet_4) {
Set<String> _keySet_5 = numberLookupStyleMap.get(format_1).get(interval_1).keySet();
for (final String style_1 : _keySet_5) {
{
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.append("styles.add(\"");
_builder.append(stylePrefix);
_builder.append(style_1);
_builder.append(" {");
String _get = numberLookupStyleMap.get(format_1).get(interval_1).get(style_1);
_builder.append(_get);
_builder.append("}\");");
_builder.newLineIfNotEmpty();
body = _builder.toString();
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.append("styles.add(\"");
_builder_1.append(stylePrefix);
_builder_1.append(style_1);
_builder_1.append("-odd {");
String _modifyOddStyle = this.modifyOddStyle(
numberLookupStyleMap.get(format_1).get(interval_1).get(style_1));
_builder_1.append(_modifyOddStyle);
_builder_1.append("}\");");
_builder_1.newLineIfNotEmpty();
body = _builder_1.toString();
}
}
}
}
Set<String> _keySet_6 = intIntervalStyleMap.keySet();
for (final String format_2 : _keySet_6) {
Set<Integer> _keySet_7 = intIntervalStyleMap.get(format_2).keySet();
for (final Integer interval_2 : _keySet_7) {
Set<String> _keySet_8 = intIntervalStyleMap.get(format_2).get(interval_2).keySet();
for (final String style_2 : _keySet_8) {
{
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.append("styles.add(\"");
_builder.append(stylePrefix);
_builder.append(style_2);
_builder.append(" {");
String _get = intIntervalStyleMap.get(format_2).get(interval_2).get(style_2);
_builder.append(_get);
_builder.append("}\");");
_builder.newLineIfNotEmpty();
body = _builder.toString();
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.append("styles.add(\"");
_builder_1.append(stylePrefix);
_builder_1.append(style_2);
_builder_1.append("-odd {");
String _modifyOddStyle = this.modifyOddStyle(
intIntervalStyleMap.get(format_2).get(interval_2).get(style_2));
_builder_1.append(_modifyOddStyle);
_builder_1.append("}\");");
_builder_1.newLineIfNotEmpty();
body = _builder_1.toString();
}
}
}
}
Set<String> _keySet_9 = intLookupStyleMap.keySet();
for (final String format_3 : _keySet_9) {
Set<Integer> _keySet_10 = intLookupStyleMap.get(format_3).keySet();
for (final Integer interval_3 : _keySet_10) {
Set<String> _keySet_11 = intLookupStyleMap.get(format_3).get(interval_3).keySet();
for (final String style_3 : _keySet_11) {
{
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.append("styles.add(\"");
_builder.append(stylePrefix);
_builder.append(style_3);
_builder.append(" {");
String _get = intLookupStyleMap.get(format_3).get(interval_3).get(style_3);
_builder.append(_get);
_builder.append("}\");");
_builder.newLineIfNotEmpty();
body = _builder.toString();
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.append("styles.add(\"");
_builder_1.append(stylePrefix);
_builder_1.append(style_3);
_builder_1.append("-odd {");
String _modifyOddStyle = this.modifyOddStyle(
intLookupStyleMap.get(format_3).get(interval_3).get(style_3));
_builder_1.append(_modifyOddStyle);
_builder_1.append("}\");");
_builder_1.newLineIfNotEmpty();
body = _builder_1.toString();
}
}
}
}
Set<String> _keySet_12 = stringLookupStyleMap.keySet();
for (final String format_4 : _keySet_12) {
Set<String> _keySet_13 = stringLookupStyleMap.get(format_4).keySet();
for (final String interval_4 : _keySet_13) {
Set<String> _keySet_14 = stringLookupStyleMap.get(format_4).get(interval_4).keySet();
for (final String style_4 : _keySet_14) {
{
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.append("styles.add(\"");
_builder.append(stylePrefix);
_builder.append(style_4);
_builder.append(" {");
String _get = stringLookupStyleMap.get(format_4).get(interval_4).get(style_4);
_builder.append(_get);
_builder.append("}\");");
_builder.newLineIfNotEmpty();
body = _builder.toString();
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.append("styles.add(\"");
_builder_1.append(stylePrefix);
_builder_1.append(style_4);
_builder_1.append("-odd {");
String _modifyOddStyle = this.modifyOddStyle(
stringLookupStyleMap.get(format_4).get(interval_4).get(style_4));
_builder_1.append(_modifyOddStyle);
_builder_1.append("}\");");
_builder_1.newLineIfNotEmpty();
body = _builder_1.toString();
}
}
}
}
Set<String> _keySet_15 = dateLookupStyleMap.keySet();
for (final String format_5 : _keySet_15) {
Set<Double> _keySet_16 = dateLookupStyleMap.get(format_5).keySet();
for (final Double interval_5 : _keySet_16) {
Set<String> _keySet_17 = dateLookupStyleMap.get(format_5).get(interval_5).keySet();
for (final String style_5 : _keySet_17) {
{
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.append("styles.add(\"");
_builder.append(stylePrefix);
_builder.append(style_5);
_builder.append(" {");
String _get = dateLookupStyleMap.get(format_5).get(interval_5).get(style_5);
_builder.append(_get);
_builder.append("}\");");
_builder.newLineIfNotEmpty();
body = _builder.toString();
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.append("styles.add(\"");
_builder_1.append(stylePrefix);
_builder_1.append(style_5);
_builder_1.append("-odd {");
String _modifyOddStyle = this.modifyOddStyle(
dateLookupStyleMap.get(format_5).get(interval_5).get(style_5));
_builder_1.append(_modifyOddStyle);
_builder_1.append("}\");");
_builder_1.newLineIfNotEmpty();
body = _builder_1.toString();
}
}
}
}
return body;
}
/**
* <p>In order to customize the cellGenerator, methods must be called inferred from the model.</p>
*/
public String generatePropertyLookups(final HashMap<String, IdAttribute> idMap, final HashMap<String, FormatAttribute> formatMap, final HashMap<String, Map<Double, Map<String, String>>> intervalStyleMap, final HashMap<String, Map<Double, Map<String, String>>> intervalIconMap, final HashMap<String, Map<Double, Map<String, String>>> intervalTooltipMap, final HashMap<String, Map<Double, Map<String, String>>> numberLookupStyleMap, final HashMap<String, Map<Double, Map<String, String>>> numberLookupIconMap, final HashMap<String, Map<Double, Map<String, String>>> numberLookupTooltipMap, final HashMap<String, Map<Integer, Map<String, String>>> intIntervalStyleMap, final HashMap<String, Map<Integer, Map<String, String>>> intIntervalIconMap, final HashMap<String, Map<Integer, Map<String, String>>> intIntervalTooltipMap, final HashMap<String, Map<Integer, Map<String, String>>> intLookupStyleMap, final HashMap<String, Map<Integer, Map<String, String>>> intLookupIconMap, final HashMap<String, Map<Integer, Map<String, String>>> intLookupTooltipMap, final HashMap<String, Map<String, Map<String, String>>> stringLookupStyleMap, final HashMap<String, Map<String, Map<String, String>>> stringLookupIconMap, final HashMap<String, Map<String, Map<String, String>>> stringLookupTooltipMap, final HashMap<String, Map<Double, Map<String, String>>> dateLookupStyleMap, final HashMap<String, Map<Double, Map<String, String>>> dateLookupIconMap, final HashMap<String, Map<Double, Map<String, String>>> dateLookupTooltipMap, final HashMap<String, String> blobLookupMap, final HashMap<String, String> enumLookupMap) {
HashSet<String> attributes = CollectionLiterals.<String>newHashSet();
attributes.addAll(formatMap.keySet());
attributes.addAll(intervalStyleMap.keySet());
attributes.addAll(intervalIconMap.keySet());
attributes.addAll(intervalTooltipMap.keySet());
attributes.addAll(numberLookupStyleMap.keySet());
attributes.addAll(numberLookupIconMap.keySet());
attributes.addAll(numberLookupTooltipMap.keySet());
attributes.addAll(intIntervalStyleMap.keySet());
attributes.addAll(intIntervalIconMap.keySet());
attributes.addAll(intIntervalTooltipMap.keySet());
attributes.addAll(intLookupStyleMap.keySet());
attributes.addAll(intLookupIconMap.keySet());
attributes.addAll(intLookupTooltipMap.keySet());
attributes.addAll(stringLookupStyleMap.keySet());
attributes.addAll(stringLookupIconMap.keySet());
attributes.addAll(stringLookupTooltipMap.keySet());
attributes.addAll(dateLookupStyleMap.keySet());
attributes.addAll(dateLookupIconMap.keySet());
attributes.addAll(dateLookupTooltipMap.keySet());
attributes.addAll(blobLookupMap.keySet());
attributes.addAll(enumLookupMap.keySet());
attributes.addAll(idMap.keySet());
String body = "";
int _size = attributes.size();
boolean _greaterThan = (_size > 0);
if (_greaterThan) {
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.append("// add attributeLookups for column and row attribute supplements");
_builder.newLineIfNotEmpty();
body = _builder.toString();
}
for (final String attribute : attributes) {
{
boolean hadAttribute = false;
if ((attribute != null)) {
hadAttribute = true;
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.append("attributeLookupMap.put(\"");
String _upperCase = attribute.toString().toUpperCase();
_builder_1.append(_upperCase);
_builder_1.append("\", new PropertyLookup(themeResourceService, dslMetadataService, blobService, user.getLocale())");
body = _builder_1.toString();
boolean _containsKey = idMap.containsKey(attribute);
if (_containsKey) {
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append(body);
_builder_2.newLineIfNotEmpty();
_builder_2.append("\t");
_builder_2.append(".setCollapseColumn(");
String _string = Boolean.valueOf(Boolean.valueOf(idMap.get(attribute).collapsed).booleanValue()).toString();
_builder_2.append(_string, "\t");
_builder_2.append(")");
_builder_2.newLineIfNotEmpty();
body = _builder_2.toString();
}
boolean _containsKey_1 = formatMap.containsKey(attribute);
if (_containsKey_1) {
if ((formatMap.get(attribute).formatter != null)) {
StringConcatenation _builder_3 = new StringConcatenation();
_builder_3.append(body);
_builder_3.newLineIfNotEmpty();
_builder_3.append("\t");
_builder_3.append(".setFormat(\"");
_builder_3.append(formatMap.get(attribute).formatter, "\t");
_builder_3.append("\")");
_builder_3.newLineIfNotEmpty();
body = _builder_3.toString();
}
if ((formatMap.get(attribute).tooltipPattern != null)) {
StringConcatenation _builder_4 = new StringConcatenation();
_builder_4.append(body);
_builder_4.newLineIfNotEmpty();
_builder_4.append("\t");
_builder_4.append(".setTooltipPattern(\"");
_builder_4.append(formatMap.get(attribute).tooltipPattern, "\t");
_builder_4.append("\")");
_builder_4.newLineIfNotEmpty();
body = _builder_4.toString();
}
int _size_1 = intervalIconMap.size();
boolean _greaterThan_1 = (_size_1 > 0);
if (_greaterThan_1) {
StringConcatenation _builder_5 = new StringConcatenation();
_builder_5.append(body);
_builder_5.newLineIfNotEmpty();
_builder_5.append("\t");
_builder_5.append(".setHideLabel(");
String _string_1 = Boolean.valueOf(Boolean.valueOf(formatMap.get(attribute).hideLabelInterval).booleanValue()).toString();
_builder_5.append(_string_1, "\t");
_builder_5.append(")");
_builder_5.newLineIfNotEmpty();
body = _builder_5.toString();
} else {
int _size_2 = numberLookupIconMap.size();
int _size_3 = intLookupIconMap.size();
int _plus = (_size_2 + _size_3);
int _size_4 = stringLookupIconMap.size();
int _plus_1 = (_plus + _size_4);
int _size_5 = dateLookupIconMap.size();
int _plus_2 = (_plus_1 + _size_5);
boolean _greaterThan_2 = (_plus_2 > 0);
if (_greaterThan_2) {
StringConcatenation _builder_6 = new StringConcatenation();
_builder_6.append(body);
_builder_6.newLineIfNotEmpty();
_builder_6.append("\t");
_builder_6.append(".setHideLabel(");
String _string_2 = Boolean.valueOf(Boolean.valueOf(formatMap.get(attribute).hideLabelLookup).booleanValue()).toString();
_builder_6.append(_string_2, "\t");
_builder_6.append(")");
_builder_6.newLineIfNotEmpty();
body = _builder_6.toString();
} else {
StringConcatenation _builder_7 = new StringConcatenation();
_builder_7.append(body);
_builder_7.newLineIfNotEmpty();
_builder_7.append("\t");
_builder_7.append(".setHideLabel(");
String _string_3 = Boolean.valueOf(Boolean.valueOf(formatMap.get(attribute).hideImageLabel).booleanValue()).toString();
_builder_7.append(_string_3, "\t");
_builder_7.append(")");
_builder_7.newLineIfNotEmpty();
body = _builder_7.toString();
}
}
StringConcatenation _builder_8 = new StringConcatenation();
_builder_8.append(body);
_builder_8.newLineIfNotEmpty();
_builder_8.append("\t");
_builder_8.append(".setCollapseColumn(");
String _string_4 = Boolean.valueOf(Boolean.valueOf(formatMap.get(attribute).collapsed).booleanValue()).toString();
_builder_8.append(_string_4, "\t");
_builder_8.append(")");
_builder_8.newLineIfNotEmpty();
body = _builder_8.toString();
if (formatMap.get(attribute).hasImage) {
StringConcatenation _builder_9 = new StringConcatenation();
_builder_9.append(body);
_builder_9.newLineIfNotEmpty();
_builder_9.append("\t");
_builder_9.append(".setImageService(\"");
_builder_9.append(formatMap.get(attribute).imagePath, "\t");
_builder_9.append("\", ");
String _string_5 = Boolean.valueOf(Boolean.valueOf(formatMap.get(attribute).hasImageParameter).booleanValue()).toString();
_builder_9.append(_string_5, "\t");
_builder_9.append(")");
_builder_9.newLineIfNotEmpty();
body = _builder_9.toString();
if (formatMap.get(attribute).hasImageResize) {
StringConcatenation _builder_10 = new StringConcatenation();
_builder_10.append(body);
_builder_10.newLineIfNotEmpty();
_builder_10.append("\t");
_builder_10.append(".setResizeString(\"");
_builder_10.append(formatMap.get(attribute).imageResizeString, "\t");
_builder_10.append("\")");
body = _builder_10.toString();
}
}
if ((formatMap.get(attribute).iconName != null)) {
StringConcatenation _builder_11 = new StringConcatenation();
_builder_11.append(body);
_builder_11.newLineIfNotEmpty();
_builder_11.append("\t");
_builder_11.append(".setColumnIcon(\"");
_builder_11.append(formatMap.get(attribute).iconName, "\t");
_builder_11.append("\")");
_builder_11.newLineIfNotEmpty();
body = _builder_11.toString();
}
}
boolean _containsKey_2 = intervalStyleMap.containsKey(attribute);
if (_containsKey_2) {
Set<Double> _keySet = intervalStyleMap.get(attribute).keySet();
for (final Double interval : _keySet) {
Set<String> _keySet_1 = intervalStyleMap.get(attribute).get(interval).keySet();
for (final String style : _keySet_1) {
StringConcatenation _builder_12 = new StringConcatenation();
_builder_12.append(body);
_builder_12.newLineIfNotEmpty();
_builder_12.append("\t");
_builder_12.append(".addStyleInterval(");
{
boolean _startsWith = style.startsWith("date");
if (_startsWith) {
_builder_12.append("ExtendedDate.add(new Date(), (long)");
_builder_12.append(((interval).doubleValue() * (-1)), "\t");
_builder_12.append(", TimeUnit.DAYS)");
} else {
_builder_12.append(interval, "\t");
}
}
_builder_12.append(", \"");
_builder_12.append(style, "\t");
_builder_12.append("\")");
_builder_12.newLineIfNotEmpty();
body = _builder_12.toString();
}
}
}
boolean _containsKey_3 = intervalIconMap.containsKey(attribute);
if (_containsKey_3) {
Set<Double> _keySet_2 = intervalIconMap.get(attribute).keySet();
for (final Double interval_1 : _keySet_2) {
Set<String> _keySet_3 = intervalIconMap.get(attribute).get(interval_1).keySet();
for (final String style_1 : _keySet_3) {
StringConcatenation _builder_13 = new StringConcatenation();
_builder_13.append(body);
_builder_13.newLineIfNotEmpty();
_builder_13.append("\t");
_builder_13.append(".addResourceInterval(");
{
boolean _startsWith_1 = style_1.startsWith("date");
if (_startsWith_1) {
_builder_13.append("ExtendedDate.add(new Date(), (long)");
_builder_13.append(((interval_1).doubleValue() * (-1)), "\t");
_builder_13.append(", TimeUnit.DAYS)");
} else {
_builder_13.append(interval_1, "\t");
}
}
_builder_13.append(", \"");
String _get = intervalIconMap.get(attribute).get(interval_1).get(style_1);
_builder_13.append(_get, "\t");
_builder_13.append("\")");
_builder_13.newLineIfNotEmpty();
body = _builder_13.toString();
}
}
}
boolean _containsKey_4 = intervalTooltipMap.containsKey(attribute);
if (_containsKey_4) {
Set<Double> _keySet_4 = intervalTooltipMap.get(attribute).keySet();
for (final Double interval_2 : _keySet_4) {
Set<String> _keySet_5 = intervalTooltipMap.get(attribute).get(interval_2).keySet();
for (final String style_2 : _keySet_5) {
StringConcatenation _builder_14 = new StringConcatenation();
_builder_14.append(body);
_builder_14.newLineIfNotEmpty();
_builder_14.append("\t");
_builder_14.append(".addTooltipInterval(");
{
boolean _startsWith_2 = style_2.startsWith("date");
if (_startsWith_2) {
_builder_14.append("ExtendedDate.add(new Date(), (long)");
_builder_14.append(((interval_2).doubleValue() * (-1)), "\t");
_builder_14.append(", TimeUnit.DAYS)");
} else {
_builder_14.append(interval_2, "\t");
}
}
_builder_14.append(", \"");
String _get_1 = intervalTooltipMap.get(attribute).get(interval_2).get(style_2);
_builder_14.append(_get_1, "\t");
_builder_14.append("\")");
_builder_14.newLineIfNotEmpty();
body = _builder_14.toString();
}
}
}
boolean _containsKey_5 = numberLookupStyleMap.containsKey(attribute);
if (_containsKey_5) {
Set<Double> _keySet_6 = numberLookupStyleMap.get(attribute).keySet();
for (final Double interval_3 : _keySet_6) {
Set<String> _keySet_7 = numberLookupStyleMap.get(attribute).get(interval_3).keySet();
for (final String style_3 : _keySet_7) {
StringConcatenation _builder_15 = new StringConcatenation();
_builder_15.append(body);
_builder_15.newLineIfNotEmpty();
_builder_15.append("\t");
_builder_15.append(".addStyleLookup(");
_builder_15.append(interval_3, "\t");
_builder_15.append(", \"");
_builder_15.append(style_3, "\t");
_builder_15.append("\")");
_builder_15.newLineIfNotEmpty();
body = _builder_15.toString();
}
}
}
boolean _containsKey_6 = numberLookupIconMap.containsKey(attribute);
if (_containsKey_6) {
Set<Double> _keySet_8 = numberLookupIconMap.get(attribute).keySet();
for (final Double interval_4 : _keySet_8) {
Set<String> _keySet_9 = numberLookupIconMap.get(attribute).get(interval_4).keySet();
for (final String style_4 : _keySet_9) {
StringConcatenation _builder_16 = new StringConcatenation();
_builder_16.append(body);
_builder_16.newLineIfNotEmpty();
_builder_16.append("\t");
_builder_16.append(".addResourceLookup(");
_builder_16.append(interval_4, "\t");
_builder_16.append(", \"");
String _get_2 = numberLookupIconMap.get(attribute).get(interval_4).get(style_4);
_builder_16.append(_get_2, "\t");
_builder_16.append("\")");
_builder_16.newLineIfNotEmpty();
body = _builder_16.toString();
}
}
}
boolean _containsKey_7 = numberLookupTooltipMap.containsKey(attribute);
if (_containsKey_7) {
Set<Double> _keySet_10 = numberLookupTooltipMap.get(attribute).keySet();
for (final Double interval_5 : _keySet_10) {
Set<String> _keySet_11 = numberLookupTooltipMap.get(attribute).get(interval_5).keySet();
for (final String style_5 : _keySet_11) {
StringConcatenation _builder_17 = new StringConcatenation();
_builder_17.append(body);
_builder_17.newLineIfNotEmpty();
_builder_17.append("\t");
_builder_17.append(".addTooltipLookup(");
_builder_17.append(interval_5, "\t");
_builder_17.append(", ");
String _get_3 = numberLookupTooltipMap.get(attribute).get(interval_5).get(style_5);
_builder_17.append(_get_3, "\t");
_builder_17.append("\")");
_builder_17.newLineIfNotEmpty();
body = _builder_17.toString();
}
}
}
boolean _containsKey_8 = intIntervalStyleMap.containsKey(attribute);
if (_containsKey_8) {
Set<Integer> _keySet_12 = intIntervalStyleMap.get(attribute).keySet();
for (final Integer intInterval : _keySet_12) {
Set<String> _keySet_13 = intIntervalStyleMap.get(attribute).get(intInterval).keySet();
for (final String style_6 : _keySet_13) {
StringConcatenation _builder_18 = new StringConcatenation();
_builder_18.append(body);
_builder_18.newLineIfNotEmpty();
_builder_18.append("\t");
_builder_18.append(".addStyleInterval(");
{
boolean _startsWith_3 = style_6.startsWith("date");
if (_startsWith_3) {
_builder_18.append("ExtendedDate.add(new Date(), (long)");
_builder_18.append(((intInterval).intValue() * (-1)), "\t");
_builder_18.append(", TimeUnit.DAYS)");
} else {
_builder_18.append(intInterval, "\t");
}
}
_builder_18.append(", \"");
_builder_18.append(style_6, "\t");
_builder_18.append("\")");
_builder_18.newLineIfNotEmpty();
body = _builder_18.toString();
}
}
}
boolean _containsKey_9 = intIntervalIconMap.containsKey(attribute);
if (_containsKey_9) {
Set<Integer> _keySet_14 = intIntervalIconMap.get(attribute).keySet();
for (final Integer intInterval_1 : _keySet_14) {
Set<String> _keySet_15 = intIntervalIconMap.get(attribute).get(intInterval_1).keySet();
for (final String style_7 : _keySet_15) {
StringConcatenation _builder_19 = new StringConcatenation();
_builder_19.append(body);
_builder_19.newLineIfNotEmpty();
_builder_19.append("\t");
_builder_19.append(".addResourceInterval(");
{
boolean _startsWith_4 = style_7.startsWith("date");
if (_startsWith_4) {
_builder_19.append("ExtendedDate.add(new Date(), (long)");
_builder_19.append(((intInterval_1).intValue() * (-1)), "\t");
_builder_19.append(", TimeUnit.DAYS)");
} else {
_builder_19.append(intInterval_1, "\t");
}
}
_builder_19.append(", \"");
String _get_4 = intIntervalIconMap.get(attribute).get(intInterval_1).get(style_7);
_builder_19.append(_get_4, "\t");
_builder_19.append("\")");
_builder_19.newLineIfNotEmpty();
body = _builder_19.toString();
}
}
}
boolean _containsKey_10 = intIntervalTooltipMap.containsKey(attribute);
if (_containsKey_10) {
Set<Integer> _keySet_16 = intIntervalTooltipMap.get(attribute).keySet();
for (final Integer intInterval_2 : _keySet_16) {
Set<String> _keySet_17 = intIntervalTooltipMap.get(attribute).get(intInterval_2).keySet();
for (final String style_8 : _keySet_17) {
StringConcatenation _builder_20 = new StringConcatenation();
_builder_20.append(body);
_builder_20.newLineIfNotEmpty();
_builder_20.append("\t");
_builder_20.append(".addTooltipInterval(");
{
boolean _startsWith_5 = style_8.startsWith("date");
if (_startsWith_5) {
_builder_20.append("ExtendedDate.add(new Date(), (long)");
_builder_20.append(((intInterval_2).intValue() * (-1)), "\t");
_builder_20.append(", TimeUnit.DAYS)");
} else {
_builder_20.append(intInterval_2, "\t");
}
}
_builder_20.append(", \"");
String _get_5 = intIntervalTooltipMap.get(attribute).get(intInterval_2).get(style_8);
_builder_20.append(_get_5, "\t");
_builder_20.append("\")");
_builder_20.newLineIfNotEmpty();
body = _builder_20.toString();
}
}
}
boolean _containsKey_11 = intLookupStyleMap.containsKey(attribute);
if (_containsKey_11) {
Set<Integer> _keySet_18 = intLookupStyleMap.get(attribute).keySet();
for (final Integer interval_6 : _keySet_18) {
Set<String> _keySet_19 = intLookupStyleMap.get(attribute).get(interval_6).keySet();
for (final String style_9 : _keySet_19) {
StringConcatenation _builder_21 = new StringConcatenation();
_builder_21.append(body);
_builder_21.newLineIfNotEmpty();
_builder_21.append("\t");
_builder_21.append(".addStyleLookup(");
_builder_21.append(interval_6, "\t");
_builder_21.append(", \"");
_builder_21.append(style_9, "\t");
_builder_21.append("\")");
_builder_21.newLineIfNotEmpty();
body = _builder_21.toString();
}
}
}
boolean _containsKey_12 = intLookupIconMap.containsKey(attribute);
if (_containsKey_12) {
Set<Integer> _keySet_20 = intLookupIconMap.get(attribute).keySet();
for (final Integer interval_7 : _keySet_20) {
Set<String> _keySet_21 = intLookupIconMap.get(attribute).get(interval_7).keySet();
for (final String style_10 : _keySet_21) {
StringConcatenation _builder_22 = new StringConcatenation();
_builder_22.append(body);
_builder_22.newLineIfNotEmpty();
_builder_22.append("\t");
_builder_22.append(".addResourceLookup(");
_builder_22.append(interval_7, "\t");
_builder_22.append(", \"");
String _get_6 = intLookupIconMap.get(attribute).get(interval_7).get(style_10);
_builder_22.append(_get_6, "\t");
_builder_22.append("\")");
_builder_22.newLineIfNotEmpty();
body = _builder_22.toString();
}
}
}
boolean _containsKey_13 = intLookupTooltipMap.containsKey(attribute);
if (_containsKey_13) {
Set<Integer> _keySet_22 = intLookupTooltipMap.get(attribute).keySet();
for (final Integer interval_8 : _keySet_22) {
Set<String> _keySet_23 = intLookupTooltipMap.get(attribute).get(interval_8).keySet();
for (final String style_11 : _keySet_23) {
StringConcatenation _builder_23 = new StringConcatenation();
_builder_23.append(body);
_builder_23.newLineIfNotEmpty();
_builder_23.append("\t");
_builder_23.append(".addTooltipLookup(");
_builder_23.append(interval_8, "\t");
_builder_23.append(", \"");
String _get_7 = intLookupTooltipMap.get(attribute).get(interval_8).get(style_11);
_builder_23.append(_get_7, "\t");
_builder_23.append("\")");
_builder_23.newLineIfNotEmpty();
body = _builder_23.toString();
}
}
}
boolean _containsKey_14 = stringLookupStyleMap.containsKey(attribute);
if (_containsKey_14) {
Set<String> _keySet_24 = stringLookupStyleMap.get(attribute).keySet();
for (final String interval_9 : _keySet_24) {
Set<String> _keySet_25 = stringLookupStyleMap.get(attribute).get(interval_9).keySet();
for (final String style_12 : _keySet_25) {
StringConcatenation _builder_24 = new StringConcatenation();
_builder_24.append(body);
_builder_24.newLineIfNotEmpty();
_builder_24.append("\t");
_builder_24.append(".addStyleLookup(\"");
_builder_24.append(interval_9, "\t");
_builder_24.append("\", \"");
_builder_24.append(style_12, "\t");
_builder_24.append("\")");
_builder_24.newLineIfNotEmpty();
body = _builder_24.toString();
}
}
}
boolean _containsKey_15 = stringLookupIconMap.containsKey(attribute);
if (_containsKey_15) {
Set<String> _keySet_26 = stringLookupIconMap.get(attribute).keySet();
for (final String interval_10 : _keySet_26) {
Set<String> _keySet_27 = stringLookupIconMap.get(attribute).get(interval_10).keySet();
for (final String style_13 : _keySet_27) {
StringConcatenation _builder_25 = new StringConcatenation();
_builder_25.append(body);
_builder_25.newLineIfNotEmpty();
_builder_25.append("\t");
_builder_25.append(".addResourceLookup(\"");
_builder_25.append(interval_10, "\t");
_builder_25.append("\", \"");
String _get_8 = stringLookupIconMap.get(attribute).get(interval_10).get(style_13);
_builder_25.append(_get_8, "\t");
_builder_25.append("\")");
_builder_25.newLineIfNotEmpty();
body = _builder_25.toString();
}
}
}
boolean _containsKey_16 = stringLookupTooltipMap.containsKey(attribute);
if (_containsKey_16) {
Set<String> _keySet_28 = stringLookupTooltipMap.get(attribute).keySet();
for (final String interval_11 : _keySet_28) {
Set<String> _keySet_29 = stringLookupTooltipMap.get(attribute).get(interval_11).keySet();
for (final String style_14 : _keySet_29) {
StringConcatenation _builder_26 = new StringConcatenation();
_builder_26.append(body);
_builder_26.newLineIfNotEmpty();
_builder_26.append("\t");
_builder_26.append(".addTooltipLookup(\"");
_builder_26.append(interval_11, "\t");
_builder_26.append("\", \"");
String _get_9 = stringLookupTooltipMap.get(attribute).get(interval_11).get(style_14);
_builder_26.append(_get_9, "\t");
_builder_26.append("\")");
_builder_26.newLineIfNotEmpty();
body = _builder_26.toString();
}
}
}
boolean _containsKey_17 = dateLookupStyleMap.containsKey(attribute);
if (_containsKey_17) {
Set<Double> _keySet_30 = dateLookupStyleMap.get(attribute).keySet();
for (final Double interval_12 : _keySet_30) {
Set<String> _keySet_31 = dateLookupStyleMap.get(attribute).get(interval_12).keySet();
for (final String style_15 : _keySet_31) {
StringConcatenation _builder_27 = new StringConcatenation();
_builder_27.append(body);
_builder_27.newLineIfNotEmpty();
_builder_27.append("\t");
_builder_27.append(".addStyleLookup(ExtendedDate.add(new Date(),");
_builder_27.append(((interval_12).doubleValue() * (-1)), "\t");
_builder_27.append(",TimeUnit.DAYS), \"");
_builder_27.append(style_15, "\t");
_builder_27.append("\")");
_builder_27.newLineIfNotEmpty();
body = _builder_27.toString();
}
}
}
boolean _containsKey_18 = dateLookupIconMap.containsKey(attribute);
if (_containsKey_18) {
Set<Double> _keySet_32 = dateLookupIconMap.get(attribute).keySet();
for (final Double interval_13 : _keySet_32) {
Set<String> _keySet_33 = dateLookupIconMap.get(attribute).get(interval_13).keySet();
for (final String style_16 : _keySet_33) {
StringConcatenation _builder_28 = new StringConcatenation();
_builder_28.append(body);
_builder_28.newLineIfNotEmpty();
_builder_28.append("\t");
_builder_28.append(".addResourceLookup(ExtendedDate.add(new Date(),");
_builder_28.append(((interval_13).doubleValue() * (-1)), "\t");
_builder_28.append(",TimeUnit.DAYS), \"");
String _get_10 = dateLookupIconMap.get(attribute).get(interval_13).get(style_16);
_builder_28.append(_get_10, "\t");
_builder_28.append("\")");
_builder_28.newLineIfNotEmpty();
body = _builder_28.toString();
}
}
}
boolean _containsKey_19 = dateLookupTooltipMap.containsKey(attribute);
if (_containsKey_19) {
Set<Double> _keySet_34 = dateLookupTooltipMap.get(attribute).keySet();
for (final Double interval_14 : _keySet_34) {
Set<String> _keySet_35 = dateLookupTooltipMap.get(attribute).get(interval_14).keySet();
for (final String style_17 : _keySet_35) {
StringConcatenation _builder_29 = new StringConcatenation();
_builder_29.append(body);
_builder_29.newLineIfNotEmpty();
_builder_29.append("\t");
_builder_29.append(".addTooltipLookup(ExtendedDate.add(new Date(),");
_builder_29.append(((interval_14).doubleValue() * (-1)), "\t");
_builder_29.append(",TimeUnit.DAYS), \"");
String _get_11 = dateLookupTooltipMap.get(attribute).get(interval_14).get(style_17);
_builder_29.append(_get_11, "\t");
_builder_29.append("\")");
_builder_29.newLineIfNotEmpty();
body = _builder_29.toString();
}
}
}
boolean _containsKey_20 = blobLookupMap.containsKey(attribute);
if (_containsKey_20) {
StringConcatenation _builder_30 = new StringConcatenation();
_builder_30.append(body);
_builder_30.newLineIfNotEmpty();
_builder_30.append("\t");
_builder_30.append(".setBlob(true, ");
String _get_12 = blobLookupMap.get(attribute);
_builder_30.append(_get_12, "\t");
_builder_30.append(")");
_builder_30.newLineIfNotEmpty();
body = _builder_30.toString();
}
boolean _containsKey_21 = enumLookupMap.containsKey(attribute);
if (_containsKey_21) {
StringConcatenation _builder_31 = new StringConcatenation();
_builder_31.append(body);
_builder_31.newLineIfNotEmpty();
_builder_31.append("\t");
_builder_31.append(".setEnum(true, ");
String _get_13 = enumLookupMap.get(attribute);
_builder_31.append(_get_13, "\t");
_builder_31.append(".class)");
_builder_31.newLineIfNotEmpty();
body = _builder_31.toString();
}
}
if (hadAttribute) {
StringConcatenation _builder_32 = new StringConcatenation();
_builder_32.append(body);
_builder_32.append(");");
_builder_32.newLineIfNotEmpty();
body = _builder_32.toString();
}
}
}
return body;
}
/**
* <p>infer the model's setting for cell configuration including blobs.</p>
*/
public void initBlobLookup(final Table table, final Map<String, String> blobMap) {
DatamartSource datamartSource = this.getDataMartTable(table).getDatamartRef().getSource();
if ((datamartSource instanceof DatamartEntity)) {
List<DatamartAttribute> _allEntityAttributes = this.datamartInferrer.allEntityAttributes(this.getDataMartTable(table).getDatamartRef());
for (final DatamartAttribute attribute : _allEntityAttributes) {
{
LKeyAndValue resolution = this.getResolution(attribute.getAttributeRef());
if ((resolution != null)) {
StringConcatenation _builder = new StringConcatenation();
LEntityAttribute _attributeRef = null;
if (attribute!=null) {
_attributeRef=attribute.getAttributeRef();
}
String _name = null;
if (_attributeRef!=null) {
_name=_attributeRef.getName();
}
String _replace = null;
if (_name!=null) {
_replace=_name.replace("^", "");
}
_builder.append(_replace);
String _value = null;
if (resolution!=null) {
_value=resolution.getValue();
}
blobMap.put(_builder.toString(), _value);
}
}
}
List<DatamartAttribute> _allEntityAttributes_1 = this.datamartInferrer.allEntityAttributes(this.getDataMartTable(table).getDatamartRef());
for (final DatamartAttribute attribute_1 : _allEntityAttributes_1) {
{
LKeyAndValue resolution = this.getResolution(attribute_1.getAttributeRef());
if ((resolution != null)) {
String _aliasedAttributeName = DatamartAttributeUtil.getAliasedAttributeName(attribute_1);
String _value = null;
if (resolution!=null) {
_value=resolution.getValue();
}
blobMap.put(_aliasedAttributeName, _value);
}
}
}
}
}
/**
* <p>infer the model's setting for cell configuration including enums.</p>
*/
public void initEnumLookup(final Table table, final Map<String, String> enumMap) {
DatamartSource datamartSource = this.getDataMartTable(table).getDatamartRef().getSource();
if ((datamartSource instanceof DatamartEntity)) {
List<DatamartAttribute> _allEntityAttributes = this.datamartInferrer.allEntityAttributes(this.getDataMartTable(table).getDatamartRef());
for (final DatamartAttribute attribute : _allEntityAttributes) {
boolean _typeIsEnum = this._modelExtensions.typeIsEnum(attribute.getAttributeRef());
if (_typeIsEnum) {
StringConcatenation _builder = new StringConcatenation();
LEntityAttribute _attributeRef = null;
if (attribute!=null) {
_attributeRef=attribute.getAttributeRef();
}
String _name = null;
if (_attributeRef!=null) {
_name=_attributeRef.getName();
}
String _replace = null;
if (_name!=null) {
_replace=_name.replace("^", "");
}
_builder.append(_replace);
StringConcatenation _builder_1 = new StringConcatenation();
LEntityAttribute _attributeRef_1 = null;
if (attribute!=null) {
_attributeRef_1=attribute.getAttributeRef();
}
LScalarType _type = null;
if (_attributeRef_1!=null) {
_type=_attributeRef_1.getType();
}
QualifiedName _fullyQualifiedName = null;
if (_type!=null) {
_fullyQualifiedName=this._iQualifiedNameProvider.getFullyQualifiedName(_type);
}
_builder_1.append(_fullyQualifiedName);
enumMap.put(_builder.toString(), _builder_1.toString());
}
}
}
}
public LKeyAndValue getResolution(final LEntityAttribute attribute) {
final Function1<LKeyAndValue, Boolean> _function = (LKeyAndValue it) -> {
return Boolean.valueOf(it.getKey().toLowerCase().equals(IPropertyConstants.PROPERTY_BLOB));
};
boolean _exists = IterableExtensions.<LKeyAndValue>exists(attribute.getProperties(), _function);
if (_exists) {
final Function1<LKeyAndValue, Boolean> _function_1 = (LKeyAndValue it) -> {
return Boolean.valueOf(it.getKey().toLowerCase().equals(IPropertyConstants.PROPERTY_BLOB));
};
return IterableExtensions.<LKeyAndValue>findFirst(attribute.getProperties(), _function_1);
} else {
LScalarType _type = attribute.getType();
if ((_type instanceof LDataType)) {
LScalarType _type_1 = attribute.getType();
final Function1<LKeyAndValue, Boolean> _function_2 = (LKeyAndValue it) -> {
return Boolean.valueOf(it.getKey().toLowerCase().equals(IPropertyConstants.PROPERTY_BLOB));
};
boolean _exists_1 = IterableExtensions.<LKeyAndValue>exists(((LDataType) _type_1).getProperties(), _function_2);
if (_exists_1) {
LScalarType _type_2 = attribute.getType();
final Function1<LKeyAndValue, Boolean> _function_3 = (LKeyAndValue it) -> {
return Boolean.valueOf(it.getKey().toLowerCase().equals(IPropertyConstants.PROPERTY_BLOB));
};
return IterableExtensions.<LKeyAndValue>findFirst(((LDataType) _type_2).getProperties(), _function_3);
}
}
}
return null;
}
/**
* <p>infer the model's setting for cell configuration including styles and images.</p>
*/
public void initPropertyLookups(final TableAxis axis, final HashMap<String, FormatAttribute> formatMap, final HashMap<String, Map<Double, Map<String, String>>> intervalStyleMap, final HashMap<String, Map<Double, Map<String, String>>> intervalIconMap, final HashMap<String, Map<Double, Map<String, String>>> intervalTooltipMap, final HashMap<String, Map<Double, Map<String, String>>> numberLookupStyleMap, final HashMap<String, Map<Double, Map<String, String>>> numberLookupIconMap, final HashMap<String, Map<Double, Map<String, String>>> numberLookupTooltipMap, final HashMap<String, Map<Integer, Map<String, String>>> intIntervalStyleMap, final HashMap<String, Map<Integer, Map<String, String>>> intIntervalIconMap, final HashMap<String, Map<Integer, Map<String, String>>> intIntervalTooltipMap, final HashMap<String, Map<Integer, Map<String, String>>> intLookupStyleMap, final HashMap<String, Map<Integer, Map<String, String>>> intLookupIconMap, final HashMap<String, Map<Integer, Map<String, String>>> intLookupTooltipMap, final HashMap<String, Map<String, Map<String, String>>> stringLookupStyleMap, final HashMap<String, Map<String, Map<String, String>>> stringLookupIconMap, final HashMap<String, Map<String, Map<String, String>>> stringLookupTooltipMap, final HashMap<String, Map<Double, Map<String, String>>> dateLookupStyleMap, final HashMap<String, Map<Double, Map<String, String>>> dateLookupIconMap, final HashMap<String, Map<Double, Map<String, String>>> dateLookupTooltipMap) {
EList<TableValue> _values = axis.getValues();
for (final TableValue value : _values) {
{
FormatAttribute prop = new FormatAttribute();
TableFormatter _formatter = value.getFormatter();
boolean _tripleNotEquals = (_formatter != null);
if (_tripleNotEquals) {
prop.formatter = value.getFormatter().getFormat();
}
TableTooltipPattern _tooltipPattern = value.getTooltipPattern();
boolean _tripleNotEquals_1 = (_tooltipPattern != null);
if (_tripleNotEquals_1) {
prop.tooltipPattern = value.getTooltipPattern().getTooltipPattern();
}
prop.hideLabelLookup = value.isHideLabelLookup();
prop.collapsed = value.isCollapsed();
prop.hasImage = value.isHasImage();
prop.iconName = value.getIconName();
if ((value.isHasImage() && (value.getImage() != null))) {
prop.hasImageParameter = value.getImage().isHasParameter();
prop.imagePath = value.getImage().getImagePathPattern();
prop.hideImageLabel = value.getImage().isHideImageLabel();
prop.hasImageResize = value.getImage().isResize();
prop.imageResizeString = value.getImage().getResizeString();
boolean _isHasParameter = value.getImage().isHasParameter();
if (_isHasParameter) {
TableValueElement _imagePathParameter = value.getImage().getImagePathParameter();
boolean _matched = false;
if (_imagePathParameter instanceof TableColumn) {
_matched=true;
TableValueElement _imagePathParameter_1 = value.getImage().getImagePathParameter();
prop.imagePathParameter = ((TableColumn) _imagePathParameter_1).getValueRef().getColumnRef().getLiteral();
}
if (!_matched) {
if (_imagePathParameter instanceof TableMeasure) {
_matched=true;
TableValueElement _imagePathParameter_1 = value.getImage().getImagePathParameter();
prop.imagePathParameter = ((TableMeasure) _imagePathParameter_1).getValueRef().getMeasureRef().getName();
}
}
if (!_matched) {
if (_imagePathParameter instanceof TableDerived) {
_matched=true;
TableValueElement _imagePathParameter_1 = value.getImage().getImagePathParameter();
prop.imagePathParameter = ((TableDerived) _imagePathParameter_1).getValueRef().getDerivedRef().getName();
}
}
if (!_matched) {
if (_imagePathParameter instanceof TableHierarchy) {
_matched=true;
TableValueElement _imagePathParameter_1 = value.getImage().getImagePathParameter();
prop.imagePathParameter = this.getLevelName(((TableHierarchy) _imagePathParameter_1).getValueRef());
}
}
if (!_matched) {
if (_imagePathParameter instanceof TableAttribute) {
_matched=true;
TableValueElement _imagePathParameter_1 = value.getImage().getImagePathParameter();
prop.imagePathParameter = DatamartAttributeUtil.getAliasedAttributeName(((TableAttribute) _imagePathParameter_1).getValueRef());
}
}
if (!_matched) {
if (_imagePathParameter instanceof TableAggregation) {
_matched=true;
TableValueElement _imagePathParameter_1 = value.getImage().getImagePathParameter();
prop.imagePathParameter = ((TableAggregation) _imagePathParameter_1).getValueRef().getAggregation().name();
}
}
}
}
HashMap<String, String> columnValueMap = CollectionLiterals.<String, String>newHashMap();
TableValueElement _column = value.getColumn();
boolean _matched_1 = false;
if (_column instanceof TableOrdinal) {
_matched_1=true;
String _canonicalName = TableOrdinal.class.getCanonicalName();
StringConcatenation _builder = new StringConcatenation();
_builder.append("#");
String _literal = axis.getAxis().getLiteral();
_builder.append(_literal);
TableValueElement _column_1 = value.getColumn();
String _string = ((TableOrdinal) _column_1).getValueRef().toString();
_builder.append(_string);
columnValueMap.put(_canonicalName, _builder.toString());
formatMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), prop);
}
if (!_matched_1) {
if (_column instanceof TableAllColumns) {
_matched_1=true;
String _canonicalName = TableAllColumns.class.getCanonicalName();
StringConcatenation _builder = new StringConcatenation();
_builder.append("?");
String _literal = axis.getAxis().getLiteral();
_builder.append(_literal);
columnValueMap.put(_canonicalName, _builder.toString());
formatMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), prop);
}
}
if (!_matched_1) {
if (_column instanceof TableMeasure) {
_matched_1=true;
String _canonicalName = TableMeasure.class.getCanonicalName();
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = value.getColumn();
String _name = ((TableMeasure) _column_1).getValueRef().getMeasureRef().getName();
_builder.append(_name);
columnValueMap.put(_canonicalName, _builder.toString());
formatMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), prop);
}
}
if (!_matched_1) {
if (_column instanceof TableDerived) {
_matched_1=true;
String _canonicalName = TableDerived.class.getCanonicalName();
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = value.getColumn();
String _name = ((TableDerived) _column_1).getValueRef().getDerivedRef().getName();
_builder.append(_name);
columnValueMap.put(_canonicalName, _builder.toString());
formatMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), prop);
}
}
if (!_matched_1) {
if (_column instanceof TableHierarchy) {
_matched_1=true;
String _canonicalName = TableHierarchy.class.getCanonicalName();
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = value.getColumn();
String _levelName = this.getLevelName(((TableHierarchy) _column_1).getValueRef());
_builder.append(_levelName);
columnValueMap.put(_canonicalName, _builder.toString());
formatMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), prop);
}
}
if (!_matched_1) {
if (_column instanceof TableAttribute) {
_matched_1=true;
String _canonicalName = TableAttribute.class.getCanonicalName();
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = value.getColumn();
String _aliasedAttributeName = DatamartAttributeUtil.getAliasedAttributeName(((TableAttribute) _column_1).getValueRef());
_builder.append(_aliasedAttributeName);
columnValueMap.put(_canonicalName, _builder.toString());
formatMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), prop);
}
}
if (!_matched_1) {
if (_column instanceof TableAggregation) {
_matched_1=true;
String _canonicalName = TableAggregation.class.getCanonicalName();
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = value.getColumn();
String _name = ((TableAggregation) _column_1).getValueRef().getAggregation().name();
_builder.append(_name);
columnValueMap.put(_canonicalName, _builder.toString());
formatMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), prop);
}
}
if (!_matched_1) {
if (_column instanceof TableColumn) {
_matched_1=true;
String _canonicalName = TableColumn.class.getCanonicalName();
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = value.getColumn();
String _literal = ((TableColumn) _column_1).getValueRef().getColumnRef().getLiteral();
_builder.append(_literal);
columnValueMap.put(_canonicalName, _builder.toString());
formatMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), prop);
}
}
DoubleComparator _doubleComparator = new DoubleComparator();
TreeMap<Double, Map<String, String>> valueMap = CollectionLiterals.<Double, Map<String, String>>newTreeMap(_doubleComparator);
IntegerComparator _integerComparator = new IntegerComparator();
TreeMap<Integer, Map<String, String>> intMap = CollectionLiterals.<Integer, Map<String, String>>newTreeMap(_integerComparator);
EList<TableInterval> _intervals = value.getIntervals();
for (final TableInterval interval : _intervals) {
boolean _matched_2 = false;
if (interval instanceof TableNumberInterval) {
_matched_2=true;
if (((((TableNumberInterval) interval).getNumberRange() instanceof TableTextColor) ||
(((TableNumberInterval) interval).getNumberRange() instanceof TableCellColor))) {
double _numberIntervalValue = ((TableNumberInterval) interval).getNumberIntervalValue();
Double key = new Double(_numberIntervalValue);
String styleAspect = "";
Map<String, String> styleMap = null;
boolean _containsKey = valueMap.containsKey(key);
if (_containsKey) {
styleMap = valueMap.get(key);
styleAspect = styleMap.get(((Object[])Conversions.unwrapArray(styleMap.keySet(), Object.class))[0]);
} else {
styleMap = CollectionLiterals.<String, String>newHashMap();
styleAspect = "";
this.customformatCounter = (this.customformatCounter + 1);
}
TableRangeElement _numberRange = ((TableNumberInterval) interval).getNumberRange();
boolean _matched_3 = false;
if (_numberRange instanceof TableTextColor) {
_matched_3=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append(styleAspect);
_builder.append("color: ");
TableRangeElement _numberRange_1 = ((TableNumberInterval) interval).getNumberRange();
String _rGB = this.toRGB(((TableTextColor) _numberRange_1).getRgb());
_builder.append(_rGB);
_builder.append(";");
styleAspect = _builder.toString();
}
if (!_matched_3) {
if (_numberRange instanceof TableCellColor) {
_matched_3=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append(styleAspect);
_builder.append("background-color: ");
TableRangeElement _numberRange_1 = ((TableNumberInterval) interval).getNumberRange();
String _rGB = this.toRGB(((TableCellColor) _numberRange_1).getRgb());
_builder.append(_rGB);
_builder.append(";");
styleAspect = _builder.toString();
}
}
int _length = styleAspect.length();
boolean _greaterThan = (_length > 0);
if (_greaterThan) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("numbercustomformat");
_builder.append(this.customformatCounter);
styleMap.put(_builder.toString(), styleAspect);
valueMap.put(key, styleMap);
}
}
}
if (!_matched_2) {
if (interval instanceof TableIntInterval) {
_matched_2=true;
if (((((TableIntInterval) interval).getIntRange() instanceof TableTextColor) ||
(((TableIntInterval) interval).getIntRange() instanceof TableCellColor))) {
int _intIntervalValue = ((TableIntInterval) interval).getIntIntervalValue();
Integer key = new Integer(_intIntervalValue);
String styleAspect = "";
Map<String, String> styleMap = null;
boolean _containsKey = valueMap.containsKey(key);
if (_containsKey) {
styleMap = valueMap.get(key);
styleAspect = styleMap.get(((Object[])Conversions.unwrapArray(styleMap.keySet(), Object.class))[0]);
} else {
styleMap = CollectionLiterals.<String, String>newHashMap();
styleAspect = "";
this.customformatCounter = (this.customformatCounter + 1);
}
TableRangeElement _intRange = ((TableIntInterval) interval).getIntRange();
boolean _matched_3 = false;
if (_intRange instanceof TableTextColor) {
_matched_3=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append(styleAspect);
_builder.append("color: ");
TableRangeElement _intRange_1 = ((TableIntInterval) interval).getIntRange();
String _rGB = this.toRGB(((TableTextColor) _intRange_1).getRgb());
_builder.append(_rGB);
_builder.append(";");
styleAspect = _builder.toString();
}
if (!_matched_3) {
if (_intRange instanceof TableCellColor) {
_matched_3=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append(styleAspect);
_builder.append("background-color: ");
TableRangeElement _intRange_1 = ((TableIntInterval) interval).getIntRange();
String _rGB = this.toRGB(((TableCellColor) _intRange_1).getRgb());
_builder.append(_rGB);
_builder.append(";");
styleAspect = _builder.toString();
}
}
int _length = styleAspect.length();
boolean _greaterThan = (_length > 0);
if (_greaterThan) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("numbercustomformat");
_builder.append(this.customformatCounter);
styleMap.put(_builder.toString(), styleAspect);
intMap.put(key, styleMap);
}
}
}
}
if (!_matched_2) {
if (interval instanceof TableDateDayInterval) {
_matched_2=true;
if (((((TableDateDayInterval) interval).getDateRange() instanceof TableTextColor) ||
(((TableDateDayInterval) interval).getDateRange() instanceof TableCellColor))) {
int _dateIntervalValue = ((TableDateDayInterval) interval).getDateIntervalValue();
Double key = new Double(_dateIntervalValue);
String styleAspect = "";
Map<String, String> styleMap = null;
boolean _containsKey = valueMap.containsKey(key);
if (_containsKey) {
styleMap = valueMap.get(key);
styleAspect = styleMap.get(((Object[])Conversions.unwrapArray(styleMap.keySet(), Object.class))[0]);
} else {
styleMap = CollectionLiterals.<String, String>newHashMap();
styleAspect = "";
this.customformatCounter = (this.customformatCounter + 1);
}
TableRangeElement _dateRange = ((TableDateDayInterval) interval).getDateRange();
boolean _matched_3 = false;
if (_dateRange instanceof TableTextColor) {
_matched_3=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append(styleAspect);
_builder.append("color: ");
TableRangeElement _dateRange_1 = ((TableDateDayInterval) interval).getDateRange();
String _rGB = this.toRGB(((TableTextColor) _dateRange_1).getRgb());
_builder.append(_rGB);
_builder.append(";");
styleAspect = _builder.toString();
}
if (!_matched_3) {
if (_dateRange instanceof TableCellColor) {
_matched_3=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append(styleAspect);
_builder.append("background-color: ");
TableRangeElement _dateRange_1 = ((TableDateDayInterval) interval).getDateRange();
String _rGB = this.toRGB(((TableCellColor) _dateRange_1).getRgb());
_builder.append(_rGB);
_builder.append(";");
styleAspect = _builder.toString();
}
}
int _length = styleAspect.length();
boolean _greaterThan = (_length > 0);
if (_greaterThan) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("datecustomformat");
_builder.append(this.customformatCounter);
styleMap.put(_builder.toString(), styleAspect);
valueMap.put(key, styleMap);
}
}
}
}
}
int _size = valueMap.size();
boolean _greaterThan = (_size > 0);
if (_greaterThan) {
TableValueElement _column_1 = value.getColumn();
boolean _matched_3 = false;
if (_column_1 instanceof TableOrdinal) {
_matched_3=true;
intervalStyleMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), valueMap);
}
if (!_matched_3) {
if (_column_1 instanceof TableAllColumns) {
_matched_3=true;
intervalStyleMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), valueMap);
}
}
if (!_matched_3) {
if (_column_1 instanceof TableMeasure) {
_matched_3=true;
intervalStyleMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), valueMap);
}
}
if (!_matched_3) {
if (_column_1 instanceof TableDerived) {
_matched_3=true;
intervalStyleMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), valueMap);
}
}
if (!_matched_3) {
if (_column_1 instanceof TableHierarchy) {
_matched_3=true;
intervalStyleMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), valueMap);
}
}
if (!_matched_3) {
if (_column_1 instanceof TableAttribute) {
_matched_3=true;
intervalStyleMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), valueMap);
}
}
if (!_matched_3) {
if (_column_1 instanceof TableAggregation) {
_matched_3=true;
intervalStyleMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), valueMap);
}
}
if (!_matched_3) {
if (_column_1 instanceof TableColumn) {
_matched_3=true;
intervalStyleMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), valueMap);
}
}
}
int _size_1 = intMap.size();
boolean _greaterThan_1 = (_size_1 > 0);
if (_greaterThan_1) {
TableValueElement _column_2 = value.getColumn();
boolean _matched_4 = false;
if (_column_2 instanceof TableOrdinal) {
_matched_4=true;
intIntervalStyleMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), intMap);
}
if (!_matched_4) {
if (_column_2 instanceof TableAllColumns) {
_matched_4=true;
intIntervalStyleMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), intMap);
}
}
if (!_matched_4) {
if (_column_2 instanceof TableMeasure) {
_matched_4=true;
intIntervalStyleMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), intMap);
}
}
if (!_matched_4) {
if (_column_2 instanceof TableDerived) {
_matched_4=true;
intIntervalStyleMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), intMap);
}
}
if (!_matched_4) {
if (_column_2 instanceof TableHierarchy) {
_matched_4=true;
intIntervalStyleMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), intMap);
}
}
if (!_matched_4) {
if (_column_2 instanceof TableAttribute) {
_matched_4=true;
intIntervalStyleMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), intMap);
}
}
if (!_matched_4) {
if (_column_2 instanceof TableAggregation) {
_matched_4=true;
intIntervalStyleMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), intMap);
}
}
if (!_matched_4) {
if (_column_2 instanceof TableColumn) {
_matched_4=true;
intIntervalStyleMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), intMap);
}
}
}
DoubleComparator _doubleComparator_1 = new DoubleComparator();
TreeMap<Double, Map<String, String>> valueIconMap = CollectionLiterals.<Double, Map<String, String>>newTreeMap(_doubleComparator_1);
IntegerComparator _integerComparator_1 = new IntegerComparator();
TreeMap<Integer, Map<String, String>> intIconMap = CollectionLiterals.<Integer, Map<String, String>>newTreeMap(_integerComparator_1);
EList<TableInterval> _intervals_1 = value.getIntervals();
for (final TableInterval interval_1 : _intervals_1) {
boolean _matched_5 = false;
if (interval_1 instanceof TableNumberInterval) {
_matched_5=true;
double _numberIntervalValue = ((TableNumberInterval) interval_1).getNumberIntervalValue();
Double key = new Double(_numberIntervalValue);
String iconAspect = "";
Map<String, String> iMap = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _numberRange = ((TableNumberInterval) interval_1).getNumberRange();
boolean _matched_6 = false;
if (_numberRange instanceof TableIcon) {
_matched_6=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _numberRange_1 = ((TableNumberInterval) interval_1).getNumberRange();
String _icon = ((TableIcon) _numberRange_1).getIcon();
_builder.append(_icon);
iconAspect = _builder.toString();
}
if (!_matched_6) {
if (_numberRange instanceof TableTrend) {
_matched_6=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append("trend_");
TableRangeElement _numberRange_1 = ((TableNumberInterval) interval_1).getNumberRange();
String _literal = ((TableTrend) _numberRange_1).getIcon().getLiteral();
_builder.append(_literal);
iconAspect = _builder.toString();
}
}
int _length = iconAspect.length();
boolean _greaterThan_2 = (_length > 0);
if (_greaterThan_2) {
iMap.put("numbericon", iconAspect);
valueIconMap.put(key, iMap);
}
}
if (!_matched_5) {
if (interval_1 instanceof TableIntInterval) {
_matched_5=true;
int _intIntervalValue = ((TableIntInterval) interval_1).getIntIntervalValue();
Integer key = new Integer(_intIntervalValue);
String iconAspect = "";
Map<String, String> iMap = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _intRange = ((TableIntInterval) interval_1).getIntRange();
boolean _matched_6 = false;
if (_intRange instanceof TableIcon) {
_matched_6=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _intRange_1 = ((TableIntInterval) interval_1).getIntRange();
String _icon = ((TableIcon) _intRange_1).getIcon();
_builder.append(_icon);
iconAspect = _builder.toString();
}
if (!_matched_6) {
if (_intRange instanceof TableTrend) {
_matched_6=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append("trend_");
TableRangeElement _intRange_1 = ((TableIntInterval) interval_1).getIntRange();
String _literal = ((TableTrend) _intRange_1).getIcon().getLiteral();
_builder.append(_literal);
iconAspect = _builder.toString();
}
}
int _length = iconAspect.length();
boolean _greaterThan_2 = (_length > 0);
if (_greaterThan_2) {
iMap.put("numbericon", iconAspect);
intIconMap.put(key, iMap);
}
}
}
if (!_matched_5) {
if (interval_1 instanceof TableDateDayInterval) {
_matched_5=true;
int _dateIntervalValue = ((TableDateDayInterval) interval_1).getDateIntervalValue();
Double key = new Double(_dateIntervalValue);
String iconAspect = "";
Map<String, String> iMap = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _dateRange = ((TableDateDayInterval) interval_1).getDateRange();
boolean _matched_6 = false;
if (_dateRange instanceof TableIcon) {
_matched_6=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _dateRange_1 = ((TableDateDayInterval) interval_1).getDateRange();
String _icon = ((TableIcon) _dateRange_1).getIcon();
_builder.append(_icon);
iconAspect = _builder.toString();
}
if (!_matched_6) {
if (_dateRange instanceof TableTrend) {
_matched_6=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append("trend_");
TableRangeElement _dateRange_1 = ((TableDateDayInterval) interval_1).getDateRange();
String _literal = ((TableTrend) _dateRange_1).getIcon().getLiteral();
_builder.append(_literal);
iconAspect = _builder.toString();
}
}
int _length = iconAspect.length();
boolean _greaterThan_2 = (_length > 0);
if (_greaterThan_2) {
iMap.put("dateicon", iconAspect);
valueIconMap.put(key, iMap);
}
}
}
}
int _size_2 = valueIconMap.size();
boolean _greaterThan_2 = (_size_2 > 0);
if (_greaterThan_2) {
TableValueElement _column_3 = value.getColumn();
boolean _matched_6 = false;
if (_column_3 instanceof TableOrdinal) {
_matched_6=true;
intervalIconMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), valueIconMap);
}
if (!_matched_6) {
if (_column_3 instanceof TableAllColumns) {
_matched_6=true;
intervalIconMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), valueIconMap);
}
}
if (!_matched_6) {
if (_column_3 instanceof TableMeasure) {
_matched_6=true;
intervalIconMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), valueIconMap);
}
}
if (!_matched_6) {
if (_column_3 instanceof TableDerived) {
_matched_6=true;
intervalIconMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), valueIconMap);
}
}
if (!_matched_6) {
if (_column_3 instanceof TableHierarchy) {
_matched_6=true;
intervalIconMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), valueIconMap);
}
}
if (!_matched_6) {
if (_column_3 instanceof TableAttribute) {
_matched_6=true;
intervalIconMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), valueIconMap);
}
}
if (!_matched_6) {
if (_column_3 instanceof TableAggregation) {
_matched_6=true;
intervalIconMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), valueIconMap);
}
}
if (!_matched_6) {
if (_column_3 instanceof TableColumn) {
_matched_6=true;
intervalIconMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), valueIconMap);
}
}
}
int _size_3 = intIconMap.size();
boolean _greaterThan_3 = (_size_3 > 0);
if (_greaterThan_3) {
TableValueElement _column_4 = value.getColumn();
boolean _matched_7 = false;
if (_column_4 instanceof TableOrdinal) {
_matched_7=true;
intIntervalIconMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), intIconMap);
}
if (!_matched_7) {
if (_column_4 instanceof TableAllColumns) {
_matched_7=true;
intIntervalIconMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), intIconMap);
}
}
if (!_matched_7) {
if (_column_4 instanceof TableMeasure) {
_matched_7=true;
intIntervalIconMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), intIconMap);
}
}
if (!_matched_7) {
if (_column_4 instanceof TableDerived) {
_matched_7=true;
intIntervalIconMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), intIconMap);
}
}
if (!_matched_7) {
if (_column_4 instanceof TableHierarchy) {
_matched_7=true;
intIntervalIconMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), intIconMap);
}
}
if (!_matched_7) {
if (_column_4 instanceof TableAttribute) {
_matched_7=true;
intIntervalIconMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), intIconMap);
}
}
if (!_matched_7) {
if (_column_4 instanceof TableAggregation) {
_matched_7=true;
intIntervalIconMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), intIconMap);
}
}
if (!_matched_7) {
if (_column_4 instanceof TableColumn) {
_matched_7=true;
intIntervalIconMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), intIconMap);
}
}
}
DoubleComparator _doubleComparator_2 = new DoubleComparator();
TreeMap<Double, Map<String, String>> valueTooltipMap = CollectionLiterals.<Double, Map<String, String>>newTreeMap(_doubleComparator_2);
IntegerComparator _integerComparator_2 = new IntegerComparator();
TreeMap<Integer, Map<String, String>> intTooltipMap = CollectionLiterals.<Integer, Map<String, String>>newTreeMap(_integerComparator_2);
EList<TableInterval> _intervals_2 = value.getIntervals();
for (final TableInterval interval_2 : _intervals_2) {
boolean _matched_8 = false;
if (interval_2 instanceof TableNumberInterval) {
_matched_8=true;
double _numberIntervalValue = ((TableNumberInterval) interval_2).getNumberIntervalValue();
Double key = new Double(_numberIntervalValue);
String tooltipAspect = "";
Map<String, String> tMap = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _numberRange = ((TableNumberInterval) interval_2).getNumberRange();
boolean _matched_9 = false;
if (_numberRange instanceof TableTooltip) {
_matched_9=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _numberRange_1 = ((TableNumberInterval) interval_2).getNumberRange();
String _tooltip = ((TableTooltip) _numberRange_1).getTooltip();
_builder.append(_tooltip);
tooltipAspect = _builder.toString();
}
int _length = tooltipAspect.length();
boolean _greaterThan_4 = (_length > 0);
if (_greaterThan_4) {
tMap.put("numbertooltip", tooltipAspect);
valueTooltipMap.put(key, tMap);
}
}
if (!_matched_8) {
if (interval_2 instanceof TableIntInterval) {
_matched_8=true;
int _intIntervalValue = ((TableIntInterval) interval_2).getIntIntervalValue();
Integer key = new Integer(_intIntervalValue);
String tooltipAspect = "";
Map<String, String> tMap = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _intRange = ((TableIntInterval) interval_2).getIntRange();
boolean _matched_9 = false;
if (_intRange instanceof TableTooltip) {
_matched_9=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _intRange_1 = ((TableIntInterval) interval_2).getIntRange();
String _tooltip = ((TableTooltip) _intRange_1).getTooltip();
_builder.append(_tooltip);
tooltipAspect = _builder.toString();
}
int _length = tooltipAspect.length();
boolean _greaterThan_4 = (_length > 0);
if (_greaterThan_4) {
tMap.put("numbertooltip", tooltipAspect);
intTooltipMap.put(key, tMap);
}
}
}
if (!_matched_8) {
if (interval_2 instanceof TableDateDayInterval) {
_matched_8=true;
int _dateIntervalValue = ((TableDateDayInterval) interval_2).getDateIntervalValue();
Double key = new Double(_dateIntervalValue);
String tooltipAspect = "";
Map<String, String> tMap = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _dateRange = ((TableDateDayInterval) interval_2).getDateRange();
boolean _matched_9 = false;
if (_dateRange instanceof TableTooltip) {
_matched_9=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _dateRange_1 = ((TableDateDayInterval) interval_2).getDateRange();
String _tooltip = ((TableTooltip) _dateRange_1).getTooltip();
_builder.append(_tooltip);
tooltipAspect = _builder.toString();
}
int _length = tooltipAspect.length();
boolean _greaterThan_4 = (_length > 0);
if (_greaterThan_4) {
tMap.put("datetooltip", tooltipAspect);
valueTooltipMap.put(key, tMap);
}
}
}
}
int _size_4 = valueTooltipMap.size();
boolean _greaterThan_4 = (_size_4 > 0);
if (_greaterThan_4) {
TableValueElement _column_5 = value.getColumn();
boolean _matched_9 = false;
if (_column_5 instanceof TableOrdinal) {
_matched_9=true;
intervalTooltipMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), valueTooltipMap);
}
if (!_matched_9) {
if (_column_5 instanceof TableAllColumns) {
_matched_9=true;
intervalTooltipMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), valueTooltipMap);
}
}
if (!_matched_9) {
if (_column_5 instanceof TableMeasure) {
_matched_9=true;
intervalTooltipMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), valueTooltipMap);
}
}
if (!_matched_9) {
if (_column_5 instanceof TableDerived) {
_matched_9=true;
intervalTooltipMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), valueTooltipMap);
}
}
if (!_matched_9) {
if (_column_5 instanceof TableHierarchy) {
_matched_9=true;
intervalTooltipMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), valueTooltipMap);
}
}
if (!_matched_9) {
if (_column_5 instanceof TableAttribute) {
_matched_9=true;
intervalTooltipMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), valueTooltipMap);
}
}
if (!_matched_9) {
if (_column_5 instanceof TableAggregation) {
_matched_9=true;
intervalTooltipMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), valueTooltipMap);
}
}
if (!_matched_9) {
if (_column_5 instanceof TableColumn) {
_matched_9=true;
intervalTooltipMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), valueTooltipMap);
}
}
}
int _size_5 = intTooltipMap.size();
boolean _greaterThan_5 = (_size_5 > 0);
if (_greaterThan_5) {
TableValueElement _column_6 = value.getColumn();
boolean _matched_10 = false;
if (_column_6 instanceof TableOrdinal) {
_matched_10=true;
intIntervalTooltipMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), intTooltipMap);
}
if (!_matched_10) {
if (_column_6 instanceof TableAllColumns) {
_matched_10=true;
intIntervalTooltipMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), intTooltipMap);
}
}
if (!_matched_10) {
if (_column_6 instanceof TableMeasure) {
_matched_10=true;
intIntervalTooltipMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), intTooltipMap);
}
}
if (!_matched_10) {
if (_column_6 instanceof TableDerived) {
_matched_10=true;
intIntervalTooltipMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), intTooltipMap);
}
}
if (!_matched_10) {
if (_column_6 instanceof TableHierarchy) {
_matched_10=true;
intIntervalTooltipMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), intTooltipMap);
}
}
if (!_matched_10) {
if (_column_6 instanceof TableAttribute) {
_matched_10=true;
intIntervalTooltipMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), intTooltipMap);
}
}
if (!_matched_10) {
if (_column_6 instanceof TableAggregation) {
_matched_10=true;
intIntervalTooltipMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), intTooltipMap);
}
}
if (!_matched_10) {
if (_column_6 instanceof TableColumn) {
_matched_10=true;
intIntervalTooltipMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), intTooltipMap);
}
}
}
DoubleComparator _doubleComparator_3 = new DoubleComparator();
TreeMap<Double, Map<String, String>> numberValueLookupStyleMap = CollectionLiterals.<Double, Map<String, String>>newTreeMap(_doubleComparator_3);
IntegerComparator _integerComparator_3 = new IntegerComparator();
TreeMap<Integer, Map<String, String>> intValueLookupStyleMap = CollectionLiterals.<Integer, Map<String, String>>newTreeMap(_integerComparator_3);
HashMap<String, Map<String, String>> stringValueLookupStyleMap = CollectionLiterals.<String, Map<String, String>>newHashMap();
DoubleComparator _doubleComparator_4 = new DoubleComparator();
TreeMap<Double, Map<String, String>> dateValueLookupStyleMap = CollectionLiterals.<Double, Map<String, String>>newTreeMap(_doubleComparator_4);
EList<TableLookup> _lookups = value.getLookups();
for (final TableLookup lookup : _lookups) {
{
if (((lookup instanceof TableNumberLookup) && ((((TableNumberLookup) lookup).getDiscrete() instanceof TableTextColor) ||
(((TableNumberLookup) lookup).getDiscrete() instanceof TableCellColor)))) {
double _lookupValue = ((TableNumberLookup) lookup).getLookupValue();
Double key = new Double(_lookupValue);
String styleAspect = "";
Map<String, String> styleMap = null;
boolean _containsKey = numberValueLookupStyleMap.containsKey(key);
if (_containsKey) {
styleMap = numberValueLookupStyleMap.get(key);
styleAspect = styleMap.get(((Object[])Conversions.unwrapArray(styleMap.keySet(), Object.class))[0]);
} else {
styleMap = CollectionLiterals.<String, String>newHashMap();
styleAspect = "";
this.customformatCounter = (this.customformatCounter + 1);
}
TableRangeElement _discrete = ((TableNumberLookup) lookup).getDiscrete();
boolean _matched_11 = false;
if (_discrete instanceof TableTextColor) {
_matched_11=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append(styleAspect);
_builder.append("color: ");
TableRangeElement _discrete_1 = ((TableNumberLookup) lookup).getDiscrete();
String _rGB = this.toRGB(((TableTextColor) _discrete_1).getRgb());
_builder.append(_rGB);
_builder.append(";");
styleAspect = _builder.toString();
}
if (!_matched_11) {
if (_discrete instanceof TableCellColor) {
_matched_11=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append(styleAspect);
_builder.append("background-color: ");
TableRangeElement _discrete_1 = ((TableNumberLookup) lookup).getDiscrete();
String _rGB = this.toRGB(((TableCellColor) _discrete_1).getRgb());
_builder.append(_rGB);
_builder.append(";");
styleAspect = _builder.toString();
}
}
int _length = styleAspect.length();
boolean _greaterThan_6 = (_length > 0);
if (_greaterThan_6) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("customformat");
_builder.append(this.customformatCounter);
styleMap.put(_builder.toString(), styleAspect);
numberValueLookupStyleMap.put(key, styleMap);
}
}
if (((lookup instanceof TableIntLookup) && ((((TableIntLookup) lookup).getDiscrete() instanceof TableTextColor) ||
(((TableIntLookup) lookup).getDiscrete() instanceof TableCellColor)))) {
int _lookupValue_1 = ((TableIntLookup) lookup).getLookupValue();
Integer key_1 = new Integer(_lookupValue_1);
String styleAspect_1 = "";
Map<String, String> styleMap_1 = null;
boolean _containsKey_1 = intValueLookupStyleMap.containsKey(key_1);
if (_containsKey_1) {
styleMap_1 = intValueLookupStyleMap.get(key_1);
styleAspect_1 = styleMap_1.get(((Object[])Conversions.unwrapArray(styleMap_1.keySet(), Object.class))[0]);
} else {
styleMap_1 = CollectionLiterals.<String, String>newHashMap();
styleAspect_1 = "";
this.customformatCounter = (this.customformatCounter + 1);
}
TableRangeElement _discrete_1 = ((TableIntLookup) lookup).getDiscrete();
boolean _matched_12 = false;
if (_discrete_1 instanceof TableTextColor) {
_matched_12=true;
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(styleAspect_1);
_builder_1.append("color: ");
TableRangeElement _discrete_2 = ((TableIntLookup) lookup).getDiscrete();
String _rGB = this.toRGB(((TableTextColor) _discrete_2).getRgb());
_builder_1.append(_rGB);
_builder_1.append(";");
styleAspect_1 = _builder_1.toString();
}
if (!_matched_12) {
if (_discrete_1 instanceof TableCellColor) {
_matched_12=true;
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(styleAspect_1);
_builder_1.append("background-color: ");
TableRangeElement _discrete_2 = ((TableIntLookup) lookup).getDiscrete();
String _rGB = this.toRGB(((TableCellColor) _discrete_2).getRgb());
_builder_1.append(_rGB);
_builder_1.append(";");
styleAspect_1 = _builder_1.toString();
}
}
int _length_1 = styleAspect_1.length();
boolean _greaterThan_7 = (_length_1 > 0);
if (_greaterThan_7) {
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("customformat");
_builder_1.append(this.customformatCounter);
styleMap_1.put(_builder_1.toString(), styleAspect_1);
intValueLookupStyleMap.put(key_1, styleMap_1);
}
}
if ((lookup instanceof TableStringLookup)) {
String _lookupValue_2 = ((TableStringLookup) lookup).getLookupValue();
String key_2 = new String(_lookupValue_2);
String styleAspect_2 = "";
Map<String, String> styleMap_2 = null;
boolean _containsKey_2 = stringValueLookupStyleMap.containsKey(key_2);
if (_containsKey_2) {
styleMap_2 = stringValueLookupStyleMap.get(key_2);
styleAspect_2 = styleMap_2.get(((Object[])Conversions.unwrapArray(styleMap_2.keySet(), Object.class))[0]);
} else {
styleMap_2 = CollectionLiterals.<String, String>newHashMap();
styleAspect_2 = "";
this.customformatCounter = (this.customformatCounter + 1);
}
TableRangeElement _discrete_2 = ((TableStringLookup)lookup).getDiscrete();
boolean _matched_13 = false;
if (_discrete_2 instanceof TableTextColor) {
_matched_13=true;
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append(styleAspect_2);
_builder_2.append("color: ");
TableRangeElement _discrete_3 = ((TableStringLookup)lookup).getDiscrete();
String _rGB = this.toRGB(((TableTextColor) _discrete_3).getRgb());
_builder_2.append(_rGB);
_builder_2.append(";");
styleAspect_2 = _builder_2.toString();
}
if (!_matched_13) {
if (_discrete_2 instanceof TableCellColor) {
_matched_13=true;
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append(styleAspect_2);
_builder_2.append("background-color: ");
TableRangeElement _discrete_3 = ((TableStringLookup)lookup).getDiscrete();
String _rGB = this.toRGB(((TableCellColor) _discrete_3).getRgb());
_builder_2.append(_rGB);
_builder_2.append(";");
styleAspect_2 = _builder_2.toString();
}
}
int _length_2 = styleAspect_2.length();
boolean _greaterThan_8 = (_length_2 > 0);
if (_greaterThan_8) {
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append("customformat");
_builder_2.append(this.customformatCounter);
styleMap_2.put(_builder_2.toString(), styleAspect_2);
stringValueLookupStyleMap.put(key_2, styleMap_2);
}
}
if (((lookup instanceof TableDateDayLookup) && ((((TableDateDayLookup) lookup).getDiscrete() instanceof TableTextColor) ||
(((TableDateDayLookup) lookup).getDiscrete() instanceof TableCellColor)))) {
int _lookupValue_3 = ((TableDateDayLookup) lookup).getLookupValue();
Double key_3 = new Double(_lookupValue_3);
String styleAspect_3 = "";
Map<String, String> styleMap_3 = null;
boolean _containsKey_3 = dateValueLookupStyleMap.containsKey(key_3);
if (_containsKey_3) {
styleMap_3 = dateValueLookupStyleMap.get(key_3);
styleAspect_3 = styleMap_3.get(((Object[])Conversions.unwrapArray(styleMap_3.keySet(), Object.class))[0]);
} else {
styleMap_3 = CollectionLiterals.<String, String>newHashMap();
styleAspect_3 = "";
this.customformatCounter = (this.customformatCounter + 1);
}
TableRangeElement _discrete_3 = ((TableDateDayLookup) lookup).getDiscrete();
boolean _matched_14 = false;
if (_discrete_3 instanceof TableTextColor) {
_matched_14=true;
StringConcatenation _builder_3 = new StringConcatenation();
_builder_3.append(styleAspect_3);
_builder_3.append("color: ");
TableRangeElement _discrete_4 = ((TableDateDayLookup) lookup).getDiscrete();
String _rGB = this.toRGB(((TableTextColor) _discrete_4).getRgb());
_builder_3.append(_rGB);
_builder_3.append(";");
styleAspect_3 = _builder_3.toString();
}
if (!_matched_14) {
if (_discrete_3 instanceof TableCellColor) {
_matched_14=true;
StringConcatenation _builder_3 = new StringConcatenation();
_builder_3.append(styleAspect_3);
_builder_3.append("background-color: ");
TableRangeElement _discrete_4 = ((TableDateDayLookup) lookup).getDiscrete();
String _rGB = this.toRGB(((TableCellColor) _discrete_4).getRgb());
_builder_3.append(_rGB);
_builder_3.append(";");
styleAspect_3 = _builder_3.toString();
}
}
int _length_3 = styleAspect_3.length();
boolean _greaterThan_9 = (_length_3 > 0);
if (_greaterThan_9) {
StringConcatenation _builder_3 = new StringConcatenation();
_builder_3.append("customformat");
_builder_3.append(this.customformatCounter);
styleMap_3.put(_builder_3.toString(), styleAspect_3);
dateValueLookupStyleMap.put(key_3, styleMap_3);
}
}
}
}
int _size_6 = numberValueLookupStyleMap.size();
boolean _greaterThan_6 = (_size_6 > 0);
if (_greaterThan_6) {
TableValueElement _column_7 = value.getColumn();
boolean _matched_11 = false;
if (_column_7 instanceof TableOrdinal) {
_matched_11=true;
numberLookupStyleMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), numberValueLookupStyleMap);
}
if (!_matched_11) {
if (_column_7 instanceof TableAllColumns) {
_matched_11=true;
numberLookupStyleMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), numberValueLookupStyleMap);
}
}
if (!_matched_11) {
if (_column_7 instanceof TableMeasure) {
_matched_11=true;
numberLookupStyleMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), numberValueLookupStyleMap);
}
}
if (!_matched_11) {
if (_column_7 instanceof TableDerived) {
_matched_11=true;
numberLookupStyleMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), numberValueLookupStyleMap);
}
}
if (!_matched_11) {
if (_column_7 instanceof TableHierarchy) {
_matched_11=true;
numberLookupStyleMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), numberValueLookupStyleMap);
}
}
if (!_matched_11) {
if (_column_7 instanceof TableAttribute) {
_matched_11=true;
numberLookupStyleMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), numberValueLookupStyleMap);
}
}
if (!_matched_11) {
if (_column_7 instanceof TableAggregation) {
_matched_11=true;
numberLookupStyleMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), numberValueLookupStyleMap);
}
}
if (!_matched_11) {
if (_column_7 instanceof TableColumn) {
_matched_11=true;
numberLookupStyleMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), numberValueLookupStyleMap);
}
}
}
int _size_7 = intValueLookupStyleMap.size();
boolean _greaterThan_7 = (_size_7 > 0);
if (_greaterThan_7) {
TableValueElement _column_8 = value.getColumn();
boolean _matched_12 = false;
if (_column_8 instanceof TableOrdinal) {
_matched_12=true;
intLookupStyleMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), intValueLookupStyleMap);
}
if (!_matched_12) {
if (_column_8 instanceof TableAllColumns) {
_matched_12=true;
intLookupStyleMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), intValueLookupStyleMap);
}
}
if (!_matched_12) {
if (_column_8 instanceof TableMeasure) {
_matched_12=true;
intLookupStyleMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), intValueLookupStyleMap);
}
}
if (!_matched_12) {
if (_column_8 instanceof TableDerived) {
_matched_12=true;
intLookupStyleMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), intValueLookupStyleMap);
}
}
if (!_matched_12) {
if (_column_8 instanceof TableHierarchy) {
_matched_12=true;
intLookupStyleMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), intValueLookupStyleMap);
}
}
if (!_matched_12) {
if (_column_8 instanceof TableAttribute) {
_matched_12=true;
intLookupStyleMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), intValueLookupStyleMap);
}
}
if (!_matched_12) {
if (_column_8 instanceof TableAggregation) {
_matched_12=true;
intLookupStyleMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), intValueLookupStyleMap);
}
}
if (!_matched_12) {
if (_column_8 instanceof TableColumn) {
_matched_12=true;
intLookupStyleMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), intValueLookupStyleMap);
}
}
}
int _size_8 = stringValueLookupStyleMap.size();
boolean _greaterThan_8 = (_size_8 > 0);
if (_greaterThan_8) {
TableValueElement _column_9 = value.getColumn();
boolean _matched_13 = false;
if (_column_9 instanceof TableOrdinal) {
_matched_13=true;
stringLookupStyleMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), stringValueLookupStyleMap);
}
if (!_matched_13) {
if (_column_9 instanceof TableAllColumns) {
_matched_13=true;
stringLookupStyleMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), stringValueLookupStyleMap);
}
}
if (!_matched_13) {
if (_column_9 instanceof TableMeasure) {
_matched_13=true;
stringLookupStyleMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), stringValueLookupStyleMap);
}
}
if (!_matched_13) {
if (_column_9 instanceof TableDerived) {
_matched_13=true;
stringLookupStyleMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), stringValueLookupStyleMap);
}
}
if (!_matched_13) {
if (_column_9 instanceof TableHierarchy) {
_matched_13=true;
stringLookupStyleMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), stringValueLookupStyleMap);
}
}
if (!_matched_13) {
if (_column_9 instanceof TableAttribute) {
_matched_13=true;
stringLookupStyleMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), stringValueLookupStyleMap);
}
}
if (!_matched_13) {
if (_column_9 instanceof TableAggregation) {
_matched_13=true;
stringLookupStyleMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), stringValueLookupStyleMap);
}
}
if (!_matched_13) {
if (_column_9 instanceof TableColumn) {
_matched_13=true;
stringLookupStyleMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), stringValueLookupStyleMap);
}
}
}
int _size_9 = dateValueLookupStyleMap.size();
boolean _greaterThan_9 = (_size_9 > 0);
if (_greaterThan_9) {
TableValueElement _column_10 = value.getColumn();
boolean _matched_14 = false;
if (_column_10 instanceof TableOrdinal) {
_matched_14=true;
dateLookupStyleMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), dateValueLookupStyleMap);
}
if (!_matched_14) {
if (_column_10 instanceof TableAllColumns) {
_matched_14=true;
dateLookupStyleMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), dateValueLookupStyleMap);
}
}
if (!_matched_14) {
if (_column_10 instanceof TableMeasure) {
_matched_14=true;
dateLookupStyleMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), dateValueLookupStyleMap);
}
}
if (!_matched_14) {
if (_column_10 instanceof TableDerived) {
_matched_14=true;
dateLookupStyleMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), dateValueLookupStyleMap);
}
}
if (!_matched_14) {
if (_column_10 instanceof TableHierarchy) {
_matched_14=true;
dateLookupStyleMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), dateValueLookupStyleMap);
}
}
if (!_matched_14) {
if (_column_10 instanceof TableAttribute) {
_matched_14=true;
dateLookupStyleMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), dateValueLookupStyleMap);
}
}
if (!_matched_14) {
if (_column_10 instanceof TableAggregation) {
_matched_14=true;
dateLookupStyleMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), dateValueLookupStyleMap);
}
}
if (!_matched_14) {
if (_column_10 instanceof TableColumn) {
_matched_14=true;
dateLookupStyleMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), dateValueLookupStyleMap);
}
}
}
DoubleComparator _doubleComparator_5 = new DoubleComparator();
TreeMap<Double, Map<String, String>> numberValueLookupIconMap = CollectionLiterals.<Double, Map<String, String>>newTreeMap(_doubleComparator_5);
IntegerComparator _integerComparator_4 = new IntegerComparator();
TreeMap<Integer, Map<String, String>> intValueLookupIconMap = CollectionLiterals.<Integer, Map<String, String>>newTreeMap(_integerComparator_4);
HashMap<String, Map<String, String>> stringValueLookupIconMap = CollectionLiterals.<String, Map<String, String>>newHashMap();
DoubleComparator _doubleComparator_6 = new DoubleComparator();
TreeMap<Double, Map<String, String>> dateValueLookupIconMap = CollectionLiterals.<Double, Map<String, String>>newTreeMap(_doubleComparator_6);
EList<TableLookup> _lookups_1 = value.getLookups();
for (final TableLookup lookup_1 : _lookups_1) {
{
if ((lookup_1 instanceof TableNumberLookup)) {
double _lookupValue = ((TableNumberLookup) lookup_1).getLookupValue();
Double key = new Double(_lookupValue);
String iconAspect = "";
Map<String, String> iMap = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _discrete = ((TableNumberLookup)lookup_1).getDiscrete();
boolean _matched_15 = false;
if (_discrete instanceof TableIcon) {
_matched_15=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _discrete_1 = ((TableNumberLookup)lookup_1).getDiscrete();
String _icon = ((TableIcon) _discrete_1).getIcon();
_builder.append(_icon);
iconAspect = _builder.toString();
}
if (!_matched_15) {
if (_discrete instanceof TableTrend) {
_matched_15=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append("trend_");
TableRangeElement _discrete_1 = ((TableNumberLookup)lookup_1).getDiscrete();
String _literal = ((TableTrend) _discrete_1).getIcon().getLiteral();
_builder.append(_literal);
iconAspect = _builder.toString();
}
}
int _length = iconAspect.length();
boolean _greaterThan_10 = (_length > 0);
if (_greaterThan_10) {
iMap.put("icon", iconAspect);
numberValueLookupIconMap.put(key, iMap);
}
}
if ((lookup_1 instanceof TableIntLookup)) {
int _lookupValue_1 = ((TableIntLookup) lookup_1).getLookupValue();
Integer key_1 = new Integer(_lookupValue_1);
String iconAspect_1 = "";
Map<String, String> iMap_1 = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _discrete_1 = ((TableIntLookup)lookup_1).getDiscrete();
boolean _matched_16 = false;
if (_discrete_1 instanceof TableIcon) {
_matched_16=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _discrete_2 = ((TableIntLookup)lookup_1).getDiscrete();
String _icon = ((TableIcon) _discrete_2).getIcon();
_builder.append(_icon);
iconAspect_1 = _builder.toString();
}
if (!_matched_16) {
if (_discrete_1 instanceof TableTrend) {
_matched_16=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append("trend_");
TableRangeElement _discrete_2 = ((TableIntLookup)lookup_1).getDiscrete();
String _literal = ((TableTrend) _discrete_2).getIcon().getLiteral();
_builder.append(_literal);
iconAspect_1 = _builder.toString();
}
}
int _length_1 = iconAspect_1.length();
boolean _greaterThan_11 = (_length_1 > 0);
if (_greaterThan_11) {
iMap_1.put("icon", iconAspect_1);
intValueLookupIconMap.put(key_1, iMap_1);
}
}
if ((lookup_1 instanceof TableStringLookup)) {
String key_2 = ((TableStringLookup) lookup_1).getLookupValue();
String iconAspect_2 = "";
Map<String, String> iMap_2 = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _discrete_2 = ((TableStringLookup)lookup_1).getDiscrete();
boolean _matched_17 = false;
if (_discrete_2 instanceof TableIcon) {
_matched_17=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _discrete_3 = ((TableStringLookup)lookup_1).getDiscrete();
String _icon = ((TableIcon) _discrete_3).getIcon();
_builder.append(_icon);
iconAspect_2 = _builder.toString();
}
int _length_2 = iconAspect_2.length();
boolean _greaterThan_12 = (_length_2 > 0);
if (_greaterThan_12) {
iMap_2.put("icon", iconAspect_2);
stringValueLookupIconMap.put(key_2, iMap_2);
}
}
if ((lookup_1 instanceof TableDateDayLookup)) {
int _lookupValue_2 = ((TableDateDayLookup) lookup_1).getLookupValue();
Double key_3 = new Double(_lookupValue_2);
String iconAspect_3 = "";
Map<String, String> iMap_3 = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _discrete_3 = ((TableDateDayLookup)lookup_1).getDiscrete();
boolean _matched_18 = false;
if (_discrete_3 instanceof TableIcon) {
_matched_18=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _discrete_4 = ((TableDateDayLookup)lookup_1).getDiscrete();
String _icon = ((TableIcon) _discrete_4).getIcon();
_builder.append(_icon);
iconAspect_3 = _builder.toString();
}
if (!_matched_18) {
if (_discrete_3 instanceof TableTrend) {
_matched_18=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append("trend_");
TableRangeElement _discrete_4 = ((TableDateDayLookup)lookup_1).getDiscrete();
String _literal = ((TableTrend) _discrete_4).getIcon().getLiteral();
_builder.append(_literal);
iconAspect_3 = _builder.toString();
}
}
int _length_3 = iconAspect_3.length();
boolean _greaterThan_13 = (_length_3 > 0);
if (_greaterThan_13) {
iMap_3.put("icon", iconAspect_3);
dateValueLookupIconMap.put(key_3, iMap_3);
}
}
}
}
int _size_10 = numberValueLookupIconMap.size();
boolean _greaterThan_10 = (_size_10 > 0);
if (_greaterThan_10) {
TableValueElement _column_11 = value.getColumn();
boolean _matched_15 = false;
if (_column_11 instanceof TableOrdinal) {
_matched_15=true;
numberLookupIconMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), numberValueLookupIconMap);
}
if (!_matched_15) {
if (_column_11 instanceof TableAllColumns) {
_matched_15=true;
numberLookupIconMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), numberValueLookupIconMap);
}
}
if (!_matched_15) {
if (_column_11 instanceof TableMeasure) {
_matched_15=true;
numberLookupIconMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), numberValueLookupIconMap);
}
}
if (!_matched_15) {
if (_column_11 instanceof TableDerived) {
_matched_15=true;
numberLookupIconMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), numberValueLookupIconMap);
}
}
if (!_matched_15) {
if (_column_11 instanceof TableHierarchy) {
_matched_15=true;
numberLookupIconMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), numberValueLookupIconMap);
}
}
if (!_matched_15) {
if (_column_11 instanceof TableAttribute) {
_matched_15=true;
numberLookupIconMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), numberValueLookupIconMap);
}
}
if (!_matched_15) {
if (_column_11 instanceof TableAggregation) {
_matched_15=true;
numberLookupIconMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), numberValueLookupIconMap);
}
}
if (!_matched_15) {
if (_column_11 instanceof TableColumn) {
_matched_15=true;
numberLookupIconMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), numberValueLookupIconMap);
}
}
}
int _size_11 = intValueLookupIconMap.size();
boolean _greaterThan_11 = (_size_11 > 0);
if (_greaterThan_11) {
TableValueElement _column_12 = value.getColumn();
boolean _matched_16 = false;
if (_column_12 instanceof TableOrdinal) {
_matched_16=true;
intLookupIconMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), intValueLookupIconMap);
}
if (!_matched_16) {
if (_column_12 instanceof TableAllColumns) {
_matched_16=true;
intLookupIconMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), intValueLookupIconMap);
}
}
if (!_matched_16) {
if (_column_12 instanceof TableMeasure) {
_matched_16=true;
intLookupIconMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), intValueLookupIconMap);
}
}
if (!_matched_16) {
if (_column_12 instanceof TableDerived) {
_matched_16=true;
intLookupIconMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), intValueLookupIconMap);
}
}
if (!_matched_16) {
if (_column_12 instanceof TableHierarchy) {
_matched_16=true;
intLookupIconMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), intValueLookupIconMap);
}
}
if (!_matched_16) {
if (_column_12 instanceof TableAttribute) {
_matched_16=true;
intLookupIconMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), intValueLookupIconMap);
}
}
if (!_matched_16) {
if (_column_12 instanceof TableAggregation) {
_matched_16=true;
intLookupIconMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), intValueLookupIconMap);
}
}
if (!_matched_16) {
if (_column_12 instanceof TableColumn) {
_matched_16=true;
intLookupIconMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), intValueLookupIconMap);
}
}
}
int _size_12 = stringValueLookupIconMap.size();
boolean _greaterThan_12 = (_size_12 > 0);
if (_greaterThan_12) {
TableValueElement _column_13 = value.getColumn();
boolean _matched_17 = false;
if (_column_13 instanceof TableOrdinal) {
_matched_17=true;
stringLookupIconMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), stringValueLookupIconMap);
}
if (!_matched_17) {
if (_column_13 instanceof TableAllColumns) {
_matched_17=true;
stringLookupIconMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), stringValueLookupIconMap);
}
}
if (!_matched_17) {
if (_column_13 instanceof TableMeasure) {
_matched_17=true;
stringLookupIconMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), stringValueLookupIconMap);
}
}
if (!_matched_17) {
if (_column_13 instanceof TableDerived) {
_matched_17=true;
stringLookupIconMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), stringValueLookupIconMap);
}
}
if (!_matched_17) {
if (_column_13 instanceof TableHierarchy) {
_matched_17=true;
stringLookupIconMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), stringValueLookupIconMap);
}
}
if (!_matched_17) {
if (_column_13 instanceof TableAttribute) {
_matched_17=true;
stringLookupIconMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), stringValueLookupIconMap);
}
}
if (!_matched_17) {
if (_column_13 instanceof TableAggregation) {
_matched_17=true;
stringLookupIconMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), stringValueLookupIconMap);
}
}
if (!_matched_17) {
if (_column_13 instanceof TableColumn) {
_matched_17=true;
stringLookupIconMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), stringValueLookupIconMap);
}
}
}
int _size_13 = dateValueLookupIconMap.size();
boolean _greaterThan_13 = (_size_13 > 0);
if (_greaterThan_13) {
TableValueElement _column_14 = value.getColumn();
boolean _matched_18 = false;
if (_column_14 instanceof TableOrdinal) {
_matched_18=true;
dateLookupIconMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), dateValueLookupIconMap);
}
if (!_matched_18) {
if (_column_14 instanceof TableAllColumns) {
_matched_18=true;
dateLookupIconMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), dateValueLookupIconMap);
}
}
if (!_matched_18) {
if (_column_14 instanceof TableMeasure) {
_matched_18=true;
dateLookupIconMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), dateValueLookupIconMap);
}
}
if (!_matched_18) {
if (_column_14 instanceof TableDerived) {
_matched_18=true;
dateLookupIconMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), dateValueLookupIconMap);
}
}
if (!_matched_18) {
if (_column_14 instanceof TableHierarchy) {
_matched_18=true;
dateLookupIconMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), dateValueLookupIconMap);
}
}
if (!_matched_18) {
if (_column_14 instanceof TableAttribute) {
_matched_18=true;
dateLookupIconMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), dateValueLookupIconMap);
}
}
if (!_matched_18) {
if (_column_14 instanceof TableAggregation) {
_matched_18=true;
dateLookupIconMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), dateValueLookupIconMap);
}
}
if (!_matched_18) {
if (_column_14 instanceof TableColumn) {
_matched_18=true;
dateLookupIconMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), dateValueLookupIconMap);
}
}
}
DoubleComparator _doubleComparator_7 = new DoubleComparator();
TreeMap<Double, Map<String, String>> numberValueLookupTooltipMap = CollectionLiterals.<Double, Map<String, String>>newTreeMap(_doubleComparator_7);
IntegerComparator _integerComparator_5 = new IntegerComparator();
TreeMap<Integer, Map<String, String>> intValueLookupTooltipMap = CollectionLiterals.<Integer, Map<String, String>>newTreeMap(_integerComparator_5);
HashMap<String, Map<String, String>> stringValueLookupTooltipMap = CollectionLiterals.<String, Map<String, String>>newHashMap();
DoubleComparator _doubleComparator_8 = new DoubleComparator();
TreeMap<Double, Map<String, String>> dateValueLookupTooltipMap = CollectionLiterals.<Double, Map<String, String>>newTreeMap(_doubleComparator_8);
EList<TableLookup> _lookups_2 = value.getLookups();
for (final TableLookup lookup_2 : _lookups_2) {
{
if ((lookup_2 instanceof TableNumberLookup)) {
double _lookupValue = ((TableNumberLookup) lookup_2).getLookupValue();
Double key = new Double(_lookupValue);
String tooltipAspect = "";
Map<String, String> tMap = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _discrete = ((TableNumberLookup)lookup_2).getDiscrete();
boolean _matched_19 = false;
if (_discrete instanceof TableTooltip) {
_matched_19=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _discrete_1 = ((TableNumberLookup)lookup_2).getDiscrete();
String _tooltip = ((TableTooltip) _discrete_1).getTooltip();
_builder.append(_tooltip);
tooltipAspect = _builder.toString();
}
int _length = tooltipAspect.length();
boolean _greaterThan_14 = (_length > 0);
if (_greaterThan_14) {
tMap.put("tooltip", tooltipAspect);
numberValueLookupTooltipMap.put(key, tMap);
}
}
if ((lookup_2 instanceof TableIntLookup)) {
int _lookupValue_1 = ((TableIntLookup) lookup_2).getLookupValue();
Integer key_1 = new Integer(_lookupValue_1);
String tooltipAspect_1 = "";
Map<String, String> tMap_1 = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _discrete_1 = ((TableIntLookup)lookup_2).getDiscrete();
boolean _matched_20 = false;
if (_discrete_1 instanceof TableTooltip) {
_matched_20=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _discrete_2 = ((TableIntLookup)lookup_2).getDiscrete();
String _tooltip = ((TableTooltip) _discrete_2).getTooltip();
_builder.append(_tooltip);
tooltipAspect_1 = _builder.toString();
}
int _length_1 = tooltipAspect_1.length();
boolean _greaterThan_15 = (_length_1 > 0);
if (_greaterThan_15) {
tMap_1.put("tooltip", tooltipAspect_1);
intValueLookupTooltipMap.put(key_1, tMap_1);
}
}
if ((lookup_2 instanceof TableStringLookup)) {
String key_2 = ((TableStringLookup) lookup_2).getLookupValue();
String tooltipAspect_2 = "";
Map<String, String> tMap_2 = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _discrete_2 = ((TableStringLookup)lookup_2).getDiscrete();
boolean _matched_21 = false;
if (_discrete_2 instanceof TableTooltip) {
_matched_21=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _discrete_3 = ((TableStringLookup)lookup_2).getDiscrete();
String _tooltip = ((TableTooltip) _discrete_3).getTooltip();
_builder.append(_tooltip);
tooltipAspect_2 = _builder.toString();
}
int _length_2 = tooltipAspect_2.length();
boolean _greaterThan_16 = (_length_2 > 0);
if (_greaterThan_16) {
tMap_2.put("tooltip", tooltipAspect_2);
stringValueLookupTooltipMap.put(key_2, tMap_2);
}
}
if ((lookup_2 instanceof TableDateDayLookup)) {
int _lookupValue_2 = ((TableDateDayLookup) lookup_2).getLookupValue();
Double key_3 = new Double(_lookupValue_2);
String tooltipAspect_3 = "";
Map<String, String> tMap_3 = CollectionLiterals.<String, String>newHashMap();
TableRangeElement _discrete_3 = ((TableDateDayLookup)lookup_2).getDiscrete();
boolean _matched_22 = false;
if (_discrete_3 instanceof TableTooltip) {
_matched_22=true;
StringConcatenation _builder = new StringConcatenation();
TableRangeElement _discrete_4 = ((TableDateDayLookup)lookup_2).getDiscrete();
String _tooltip = ((TableTooltip) _discrete_4).getTooltip();
_builder.append(_tooltip);
tooltipAspect_3 = _builder.toString();
}
int _length_3 = tooltipAspect_3.length();
boolean _greaterThan_17 = (_length_3 > 0);
if (_greaterThan_17) {
tMap_3.put("tooltip", tooltipAspect_3);
dateValueLookupTooltipMap.put(key_3, tMap_3);
}
}
}
}
int _size_14 = numberValueLookupTooltipMap.size();
boolean _greaterThan_14 = (_size_14 > 0);
if (_greaterThan_14) {
TableValueElement _column_15 = value.getColumn();
boolean _matched_19 = false;
if (_column_15 instanceof TableOrdinal) {
_matched_19=true;
numberLookupTooltipMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), numberValueLookupTooltipMap);
}
if (!_matched_19) {
if (_column_15 instanceof TableAllColumns) {
_matched_19=true;
numberLookupTooltipMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), numberValueLookupTooltipMap);
}
}
if (!_matched_19) {
if (_column_15 instanceof TableMeasure) {
_matched_19=true;
numberLookupTooltipMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), numberValueLookupTooltipMap);
}
}
if (!_matched_19) {
if (_column_15 instanceof TableDerived) {
_matched_19=true;
numberLookupTooltipMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), numberValueLookupTooltipMap);
}
}
if (!_matched_19) {
if (_column_15 instanceof TableHierarchy) {
_matched_19=true;
numberLookupTooltipMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), numberValueLookupTooltipMap);
}
}
if (!_matched_19) {
if (_column_15 instanceof TableAttribute) {
_matched_19=true;
numberLookupTooltipMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), numberValueLookupTooltipMap);
}
}
if (!_matched_19) {
if (_column_15 instanceof TableAggregation) {
_matched_19=true;
numberLookupTooltipMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), numberValueLookupTooltipMap);
}
}
if (!_matched_19) {
if (_column_15 instanceof TableColumn) {
_matched_19=true;
numberLookupTooltipMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), numberValueLookupTooltipMap);
}
}
}
int _size_15 = intValueLookupTooltipMap.size();
boolean _greaterThan_15 = (_size_15 > 0);
if (_greaterThan_15) {
TableValueElement _column_16 = value.getColumn();
boolean _matched_20 = false;
if (_column_16 instanceof TableOrdinal) {
_matched_20=true;
intLookupStyleMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), intValueLookupTooltipMap);
}
if (!_matched_20) {
if (_column_16 instanceof TableAllColumns) {
_matched_20=true;
intLookupStyleMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), intValueLookupTooltipMap);
}
}
if (!_matched_20) {
if (_column_16 instanceof TableMeasure) {
_matched_20=true;
intLookupStyleMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), intValueLookupTooltipMap);
}
}
if (!_matched_20) {
if (_column_16 instanceof TableDerived) {
_matched_20=true;
intLookupStyleMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), intValueLookupTooltipMap);
}
}
if (!_matched_20) {
if (_column_16 instanceof TableHierarchy) {
_matched_20=true;
intLookupStyleMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), intValueLookupTooltipMap);
}
}
if (!_matched_20) {
if (_column_16 instanceof TableAttribute) {
_matched_20=true;
intLookupStyleMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), intValueLookupTooltipMap);
}
}
if (!_matched_20) {
if (_column_16 instanceof TableAggregation) {
_matched_20=true;
intLookupStyleMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), intValueLookupTooltipMap);
}
}
if (!_matched_20) {
if (_column_16 instanceof TableColumn) {
_matched_20=true;
intLookupStyleMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), intValueLookupTooltipMap);
}
}
}
int _size_16 = stringValueLookupTooltipMap.size();
boolean _greaterThan_16 = (_size_16 > 0);
if (_greaterThan_16) {
TableValueElement _column_17 = value.getColumn();
boolean _matched_21 = false;
if (_column_17 instanceof TableOrdinal) {
_matched_21=true;
stringLookupTooltipMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), stringValueLookupTooltipMap);
}
if (!_matched_21) {
if (_column_17 instanceof TableAllColumns) {
_matched_21=true;
stringLookupTooltipMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), stringValueLookupTooltipMap);
}
}
if (!_matched_21) {
if (_column_17 instanceof TableMeasure) {
_matched_21=true;
stringLookupTooltipMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), stringValueLookupTooltipMap);
}
}
if (!_matched_21) {
if (_column_17 instanceof TableDerived) {
_matched_21=true;
stringLookupTooltipMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), stringValueLookupTooltipMap);
}
}
if (!_matched_21) {
if (_column_17 instanceof TableHierarchy) {
_matched_21=true;
stringLookupTooltipMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), stringValueLookupTooltipMap);
}
}
if (!_matched_21) {
if (_column_17 instanceof TableAttribute) {
_matched_21=true;
stringLookupTooltipMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), stringValueLookupTooltipMap);
}
}
if (!_matched_21) {
if (_column_17 instanceof TableAggregation) {
_matched_21=true;
stringLookupTooltipMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), stringValueLookupTooltipMap);
}
}
if (!_matched_21) {
if (_column_17 instanceof TableColumn) {
_matched_21=true;
stringLookupTooltipMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), stringValueLookupTooltipMap);
}
}
}
int _size_17 = dateValueLookupTooltipMap.size();
boolean _greaterThan_17 = (_size_17 > 0);
if (_greaterThan_17) {
TableValueElement _column_18 = value.getColumn();
boolean _matched_22 = false;
if (_column_18 instanceof TableOrdinal) {
_matched_22=true;
dateLookupTooltipMap.put(columnValueMap.get(TableOrdinal.class.getCanonicalName()), dateValueLookupTooltipMap);
}
if (!_matched_22) {
if (_column_18 instanceof TableAllColumns) {
_matched_22=true;
dateLookupTooltipMap.put(columnValueMap.get(TableAllColumns.class.getCanonicalName()), dateValueLookupTooltipMap);
}
}
if (!_matched_22) {
if (_column_18 instanceof TableMeasure) {
_matched_22=true;
dateLookupTooltipMap.put(columnValueMap.get(TableMeasure.class.getCanonicalName()), dateValueLookupTooltipMap);
}
}
if (!_matched_22) {
if (_column_18 instanceof TableDerived) {
_matched_22=true;
dateLookupTooltipMap.put(columnValueMap.get(TableDerived.class.getCanonicalName()), dateValueLookupTooltipMap);
}
}
if (!_matched_22) {
if (_column_18 instanceof TableHierarchy) {
_matched_22=true;
dateLookupTooltipMap.put(columnValueMap.get(TableHierarchy.class.getCanonicalName()), dateValueLookupTooltipMap);
}
}
if (!_matched_22) {
if (_column_18 instanceof TableAttribute) {
_matched_22=true;
dateLookupTooltipMap.put(columnValueMap.get(TableAttribute.class.getCanonicalName()), dateValueLookupTooltipMap);
}
}
if (!_matched_22) {
if (_column_18 instanceof TableAggregation) {
_matched_22=true;
dateLookupTooltipMap.put(columnValueMap.get(TableAggregation.class.getCanonicalName()), dateValueLookupTooltipMap);
}
}
if (!_matched_22) {
if (_column_18 instanceof TableColumn) {
_matched_22=true;
dateLookupTooltipMap.put(columnValueMap.get(TableColumn.class.getCanonicalName()), dateValueLookupTooltipMap);
}
}
}
}
}
}
/**
* <p>helper method to get a attribute name or its alias if present of a entity's attribute object.</p>
*/
public String attributeName(final DatamartAttribute attribute) {
return this.datamartInferrer.getAttributeName(attribute, null);
}
/**
* <p>helper method to get a level name of a hierarchy's level object.</p>
*/
public String getLevelName(final CubeLevel level) {
return level.getName();
}
/**
* <p>generate code for the pre-ordering refresh event.</p>
*/
public String preOrder(final TablePreorder preorder, final TableAxis axis) {
String name = "";
TableValueElement _column = preorder.getColumn();
boolean _matched = false;
if (_column instanceof TableOrdinal) {
_matched=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append("#");
String _literal = axis.getAxis().getLiteral();
_builder.append(_literal);
TableValueElement _column_1 = preorder.getColumn();
String _string = ((TableOrdinal) _column_1).getValueRef().toString();
_builder.append(_string);
name = _builder.toString();
}
if (!_matched) {
if (_column instanceof TableAllColumns) {
_matched=true;
StringConcatenation _builder = new StringConcatenation();
_builder.append("?");
String _literal = axis.getAxis().getLiteral();
_builder.append(_literal);
name = _builder.toString();
}
}
if (!_matched) {
if (_column instanceof TableMeasure) {
_matched=true;
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = preorder.getColumn();
String _name = ((TableMeasure) _column_1).getValueRef().getMeasureRef().getName();
_builder.append(_name);
name = _builder.toString();
}
}
if (!_matched) {
if (_column instanceof TableDerived) {
_matched=true;
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = preorder.getColumn();
String _name = ((TableDerived) _column_1).getValueRef().getDerivedRef().getName();
_builder.append(_name);
name = _builder.toString();
}
}
if (!_matched) {
if (_column instanceof TableHierarchy) {
_matched=true;
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = preorder.getColumn();
String _levelName = this.getLevelName(((TableHierarchy) _column_1).getValueRef());
_builder.append(_levelName);
name = _builder.toString();
}
}
if (!_matched) {
if (_column instanceof TableAttribute) {
_matched=true;
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = preorder.getColumn();
String _aliasedAttributeName = DatamartAttributeUtil.getAliasedAttributeName(((TableAttribute) _column_1).getValueRef());
_builder.append(_aliasedAttributeName);
name = _builder.toString();
}
}
if (!_matched) {
if (_column instanceof TableAggregation) {
_matched=true;
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = preorder.getColumn();
String _name = ((TableAggregation) _column_1).getValueRef().getAggregation().name();
_builder.append(_name);
name = _builder.toString();
}
}
if (!_matched) {
if (_column instanceof TableColumn) {
_matched=true;
StringConcatenation _builder = new StringConcatenation();
TableValueElement _column_1 = preorder.getColumn();
String _literal = ((TableColumn) _column_1).getValueRef().getColumnRef().getLiteral();
_builder.append(_literal);
name = _builder.toString();
}
}
StringConcatenation _builder = new StringConcatenation();
_builder.append("dataSourceContainer.setSort(table, \"");
_builder.append(name);
_builder.append("\", ");
String _string = Boolean.valueOf(Boolean.valueOf(preorder.isAscending()).booleanValue()).toString();
_builder.append(_string);
_builder.append(");");
_builder.newLineIfNotEmpty();
String body = _builder.toString();
return body;
}
public Set<LEntity> findRequestedEntities(final Table table) {
HashSet<LEntity> entities = new HashSet<LEntity>();
TableOption _tabletype = table.getTabletype();
boolean _matched = false;
if (_tabletype instanceof TableTable) {
_matched=true;
TableOption _tabletype_1 = table.getTabletype();
entities.addAll(this.datamartInferrer.findAllEntities(((TableTable) _tabletype_1).getSource().getDatamartRef()));
}
if (!_matched) {
if (_tabletype instanceof TableGrid) {
_matched=true;
EObject _resolve = EcoreUtil2.resolve(this.getDtoGridTable(table).getDtoSource().getWrappedType(), table.eResource());
final LEntity entity = ((LEntity) _resolve);
entities.add(entity);
}
}
return entities;
}
public String sendEvent(final Table table) {
String body = "";
StringConcatenation _builder = new StringConcatenation();
_builder.append(body);
_builder.newLineIfNotEmpty();
_builder.append("table.addValueChangeListener(new ValueChangeListener() {");
_builder.newLine();
_builder.append("\t");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t");
_builder.append("public void valueChange(com.vaadin.data.Property.ValueChangeEvent event) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("Object msg = null;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("Object id = null;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("String target = null;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("Object value = table.getValue();");
_builder.newLine();
_builder.append("\t\t");
_builder.append("int selection = -1;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if\t(value instanceof Integer) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("selection = (Integer)value;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("else {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("if ((value instanceof Collection<?>) && (((Collection<?>)value).size() == 1)) {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("value = ((Collection<?>)value).iterator().next();");
_builder.newLine();
_builder.append(" \t\t\t");
_builder.append("if\t(value instanceof Integer) {");
_builder.newLine();
_builder.append(" \t\t\t\t");
_builder.append("selection = (Integer)value;");
_builder.newLine();
_builder.append(" \t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
{
if ((this.isEmbedded(table) && this.isTask(table))) {
_builder.append("\t\t");
_builder.append("for(Button b:taskButtons) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t");
_builder.append("b.setEnabled(table.getValue() != null && ");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("(dataSourceContainer.getTaskStatus(selection).equals(BPMStatus.Created) ||");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("dataSourceContainer.getTaskStatus(selection).equals(BPMStatus.Ready) ||");
_builder.newLine();
_builder.append("\t\t");
_builder.append("\t\t");
_builder.append("dataSourceContainer.getTaskStatus(selection).equals(BPMStatus.Suspended)));");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
}
}
body = _builder.toString();
boolean _isTable = this.isTable(table);
if (_isTable) {
TableDatamart _dataMartTable = this.getDataMartTable(table);
if ((_dataMartTable instanceof TableDatamart)) {
TableDatamart _dataMartTable_1 = this.getDataMartTable(table);
DatamartSource _source = ((TableDatamart) _dataMartTable_1).getDatamartRef().getSource();
boolean _matched = false;
if (_source instanceof DatamartTask) {
_matched=true;
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t");
_builder_1.append("if (table.getValue() != null && taskClient != null) {");
_builder_1.newLine();
_builder_1.append("\t\t\t");
_builder_1.append("eclipseContext.set(BPMTaskSummary.class, taskClient.getUserTask(dataSourceContainer.getTaskId(selection), user));");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("} else {");
_builder_1.newLine();
_builder_1.append("\t\t\t");
_builder_1.append("eclipseContext.set(BPMTaskSummary.class, null);");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("}");
_builder_1.newLine();
body = _builder_1.toString();
}
if (!_matched) {
if (_source instanceof DatamartEntity) {
_matched=true;
TableDatamart _dataMartTable_2 = this.getDataMartTable(table);
DatamartSource _source_1 = ((TableDatamart) _dataMartTable_2).getDatamartRef().getSource();
DatamartEntity datamartEntity = ((DatamartEntity) _source_1);
EObject _resolve = EcoreUtil2.resolve(datamartEntity.getEntityRef(), table.eResource());
LEntity entity = ((LEntity) _resolve);
String alias = DatamartDefinitionUtil.getEntityIdAliasName(entity);
if ((alias != null)) {
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.newLineIfNotEmpty();
{
LEntityAttribute _primaryKeyAttribute = entity.getPrimaryKeyAttribute();
boolean _tripleNotEquals = (_primaryKeyAttribute != null);
if (_tripleNotEquals) {
_builder_1.append("\t\t");
_builder_1.append("if(selection != -1) {");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("\t");
_builder_1.append("Object idObj = datamartInstance.getPrimaryListKeys(\"");
_builder_1.append(alias, "\t\t\t");
_builder_1.append("\").get(selection);");
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t");
_builder_1.append("\t");
_builder_1.append("EventDispatcherEvent evnt = new EventDispatcherEvent(getContext().get(MPerspective.class), EventDispatcherCommand.SELECT, \"");
QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(this.baseType(entity));
_builder_1.append(_fullyQualifiedName, "\t\t\t");
_builder_1.append(".");
String _idAttributeName = entity.getIdAttributeName();
_builder_1.append(_idAttributeName, "\t\t\t");
_builder_1.append("\", \"");
QualifiedName _fullyQualifiedName_1 = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder_1.append(_fullyQualifiedName_1, "\t\t\t");
_builder_1.append("\");");
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t");
_builder_1.append("\t");
_builder_1.append("evnt.addItem(EventDispatcherDataTag.ID, idObj);");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("\t");
_builder_1.append("eventDispatcher.sendEvent(evnt);");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("\t");
_builder_1.append("SelectionStore.putSelectionToPerspectiveContext(getPart(), \"");
QualifiedName _fullyQualifiedName_2 = this._iQualifiedNameProvider.getFullyQualifiedName(this.baseType(entity));
_builder_1.append(_fullyQualifiedName_2, "\t\t\t");
_builder_1.append(".");
String _idAttributeName_1 = entity.getIdAttributeName();
_builder_1.append(_idAttributeName_1, "\t\t\t");
_builder_1.append("\", idObj);");
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t");
_builder_1.append("\t");
_builder_1.append("// send all refs too");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("\t");
_builder_1.append("for (String alias : datamartInstance.getPrimaryList().keySet()){");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("\t\t");
_builder_1.append("if (!\"");
_builder_1.append(alias, "\t\t\t\t");
_builder_1.append("\".equals(alias)){");
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t");
_builder_1.append("\t\t\t");
_builder_1.append("evnt = new EventDispatcherEvent(getContext().get(MPerspective.class), EventDispatcherCommand.SELECT, datamartInstance.getPrimaryList().get(alias).getEntityName() + \".\" + datamartInstance.getPrimaryList().get(alias).getAttributeName(), \"");
QualifiedName _fullyQualifiedName_3 = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder_1.append(_fullyQualifiedName_3, "\t\t\t\t\t");
_builder_1.append("\");");
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t");
_builder_1.append("\t\t\t");
_builder_1.append("evnt.addItem(EventDispatcherDataTag.ID, datamartInstance.getPrimaryListKeys(alias).get(selection));");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("\t\t\t");
_builder_1.append("eventDispatcher.sendEvent(evnt);");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("\t\t");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("\t");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("}");
_builder_1.newLine();
}
}
body = _builder_1.toString();
}
}
}
}
}
EList<TableElement> _elements = this.getDataMartTable(table).getElements();
for (final TableElement element : _elements) {
if ((element instanceof TableAxis)) {
TableAxis axis = ((TableAxis) element);
int evntCnt = 0;
EList<TableEvent> _events = axis.getEvents();
for (final TableEvent event : _events) {
{
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t");
_builder_1.append("if(selection != -1) {");
_builder_1.newLine();
{
TableValueElement _source_1 = event.getSource();
if ((_source_1 instanceof TableOrdinal)) {
_builder_1.append("\t\t\t");
_builder_1.append("EventDispatcherEvent evnt");
_builder_1.append(evntCnt, "\t\t\t");
_builder_1.append(" = new EventDispatcherEvent(getContext().get(MPerspective.class), EventDispatcherCommand.SELECT, \"");
TableValueElement _source_2 = event.getSource();
String _valueRef = ((TableOrdinal) _source_2).getValueRef();
_builder_1.append(_valueRef, "\t\t\t");
_builder_1.append("\", \"");
QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder_1.append(_fullyQualifiedName, "\t\t\t");
_builder_1.append("\");");
_builder_1.newLineIfNotEmpty();
} else {
TableValueElement _source_3 = event.getSource();
if ((_source_3 instanceof TableAttribute)) {
_builder_1.append("\t\t\t");
_builder_1.append("EventDispatcherEvent evnt");
_builder_1.append(evntCnt, "\t\t\t");
_builder_1.append(" = new EventDispatcherEvent(getContext().get(MPerspective.class), EventDispatcherCommand.SELECT, \"");
TableValueElement _source_4 = event.getSource();
String _name = ((TableAttribute) _source_4).getValueRef().getAttributeRef().getName();
_builder_1.append(_name, "\t\t\t");
_builder_1.append("\", \"");
QualifiedName _fullyQualifiedName_1 = this._iQualifiedNameProvider.getFullyQualifiedName(table);
_builder_1.append(_fullyQualifiedName_1, "\t\t\t");
_builder_1.append("\");");
_builder_1.newLineIfNotEmpty();
}
}
}
{
TableValueElement _source_5 = event.getSource();
if ((_source_5 instanceof TableOrdinal)) {
_builder_1.append("\t\t\t");
_builder_1.append("evnt");
_builder_1.append(evntCnt, "\t\t\t");
_builder_1.append(".addItem(EventDispatcherDataTag.LIST, dataSourceContainer.getValueByProperty(selection, \"");
TableValueElement _source_6 = event.getSource();
String _valueRef_1 = ((TableOrdinal) _source_6).getValueRef();
_builder_1.append(_valueRef_1, "\t\t\t");
_builder_1.append("\"));");
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t\t");
_builder_1.append("eventDispatcher.sendEvent(evnt");
_builder_1.append(evntCnt, "\t\t\t");
_builder_1.append(");");
_builder_1.newLineIfNotEmpty();
} else {
TableValueElement _source_7 = event.getSource();
if ((_source_7 instanceof TableAttribute)) {
_builder_1.append("\t\t\t");
_builder_1.append("evnt");
_builder_1.append(evntCnt, "\t\t\t");
_builder_1.append(".addItem(EventDispatcherDataTag.LIST, dataSourceContainer.getValueByProperty(selection, \"");
TableValueElement _source_8 = event.getSource();
String _name_1 = ((TableAttribute) _source_8).getValueRef().getAttributeRef().getName();
_builder_1.append(_name_1, "\t\t\t");
_builder_1.append("\"));");
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t\t");
_builder_1.append("eventDispatcher.sendEvent(evnt");
_builder_1.append(evntCnt, "\t\t\t");
_builder_1.append(");");
_builder_1.newLineIfNotEmpty();
}
}
}
_builder_1.append("\t\t");
_builder_1.append("} ");
_builder_1.newLine();
body = _builder_1.toString();
evntCnt = (evntCnt + 1);
}
}
}
}
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append(body);
_builder_1.newLineIfNotEmpty();
_builder_1.append("\t");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("});");
_builder_1.newLine();
body = _builder_1.toString();
return body;
}
public CharSequence columnResizeListener() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("table.addColumnResizeListener(new ColumnResizeListener(){");
_builder.newLine();
_builder.append("\t");
_builder.append("public void columnResize(ColumnResizeEvent event) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("// Get the new width of the resized column");
_builder.newLine();
_builder.append("\t\t");
_builder.append("int width = event.getCurrentWidth();");
_builder.newLine();
_builder.append("\t\t");
_builder.newLine();
_builder.append("\t\t");
_builder.append("// Get the property ID of the resized column");
_builder.newLine();
_builder.append("\t\t");
_builder.append("Object columnId = event.getPropertyId();");
_builder.newLine();
_builder.append("\t\t");
_builder.append("user.addToProperties(this.getClass().getEnclosingClass().getCanonicalName() + \".\" + columnId.toString() + \".width\", String.valueOf(width));");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("});");
_builder.newLine();
_builder.append("// Must be immediate to send the resize events immediately");
_builder.newLine();
_builder.append("table.setImmediate(true);");
_builder.newLine();
return _builder;
}
public CharSequence columnReorderListener() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("table.addColumnReorderListener(new ColumnReorderListener(){");
_builder.newLine();
_builder.append("\t");
_builder.append("public void columnReorder(ColumnReorderEvent event) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("Object source = event.getSource();");
_builder.newLine();
_builder.append("\t\t");
_builder.append("String propertyKey = this.getClass().getEnclosingClass().getCanonicalName() + \".columns\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if (source instanceof CellSetFilterTable){");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("Map<Object, Integer> visibleColumnsPositions = new HashMap<>();");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("Object[] visibleColumns = ((CellSetFilterTable)source).getVisibleColumns();");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("for (int i = 0; i < visibleColumns.length; i++) {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("CellSetIndexedContainer container = ((CellSetFilterTable)source).getCellSetIndexedContainer();");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("Object visibleColumnKey = visibleColumns[i];");
_builder.newLine();
_builder.append("\t\t\t\t");
CharSequence _positionMembersHashCode = this.getPositionMembersHashCode();
_builder.append(_positionMembersHashCode, "\t\t\t\t");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t\t");
_builder.append("visibleColumnsPositions.put(visibleColumnKey, membersHash);");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("if (visibleColumns!=null){");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("user.addToProperties(propertyKey, visibleColumnsPositions);");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("});");
_builder.newLine();
return _builder;
}
private CharSequence getPositionMembersHashCode() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("// creates a hash code by the column position members\t\t");
_builder.newLine();
_builder.append("int membersHash = 0;");
_builder.newLine();
_builder.append("if (container != null) {");
_builder.newLine();
_builder.append("\t");
_builder.append("DerivedPosition pos = container.getColumnPosition(visibleColumnKey);");
_builder.newLine();
_builder.append("\t");
_builder.append("if ( pos != null ) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("List<DerivedMember> members = pos.getMembers();");
_builder.newLine();
_builder.append("\t\t");
_builder.append("for (DerivedMember member : members) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("membersHash += (member.getUniqueName() != null) ? member.getUniqueName().hashCode() : member.hashCode();");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
return _builder;
}
public CharSequence columnCollapsedListener() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("table.addColumnCollapseListener(new ColumnCollapseListener(){");
_builder.newLine();
_builder.append("\t");
_builder.append("public void columnCollapseStateChange(ColumnCollapseEvent event) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("// Get the ID of the column collapse event");
_builder.newLine();
_builder.append("\t\t");
_builder.append("Object columnId = event.getPropertyId();");
_builder.newLine();
_builder.append("\t\t");
_builder.append("Object source = event.getSource();");
_builder.newLine();
_builder.append("\t\t");
_builder.append("String propertyKey = this.getClass().getEnclosingClass().getCanonicalName() + \".\" + columnId.toString() + \".collapsed\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if (source instanceof CustomTable){");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("if (((CustomTable)source).isColumnCollapsed(columnId)) {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("user.addToProperties(propertyKey, \"true\");");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("} else {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("user.removeFromProperties(propertyKey);");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("});");
_builder.newLine();
return _builder;
}
public CharSequence tableSettingsByUserProperties(final Table table) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("// Setting the order of the columns via the visibleColumns list");
_builder.newLine();
_builder.append("Map<Object, Integer> visibleColumnsMap = user.getColumnUtil().getVisibleColumns(this.getClass().getCanonicalName() + \".columns\");");
_builder.newLine();
_builder.append("if (visibleColumnsMap != null){");
_builder.newLine();
_builder.append("\t");
_builder.append("boolean unmodifiedVisibleColumns = true;");
_builder.newLine();
_builder.append("\t");
_builder.append("for (Object visibleColumnKey : visibleColumnsMap.keySet()) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("CellSetIndexedContainer container = dataSourceContainer;");
_builder.newLine();
_builder.append("\t\t");
CharSequence _positionMembersHashCode = this.getPositionMembersHashCode();
_builder.append(_positionMembersHashCode, "\t\t");
_builder.newLineIfNotEmpty();
_builder.append("\t\t");
_builder.append("if (membersHash != visibleColumnsMap.get(visibleColumnKey)) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("unmodifiedVisibleColumns = false;");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("break;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("if (unmodifiedVisibleColumns) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("try {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("Object[] visibleColumns = visibleColumnsMap.values().toArray();");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("table.setVisibleColumns(visibleColumns );");
_builder.newLine();
_builder.append("\t\t");
_builder.append("} catch (IllegalArgumentException e) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("// this occurs if a saved column is no longer existing due to model changes");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.append("// Setting table columns width from the persisted user properties");
_builder.newLine();
_builder.append("for (Object visibleId : table.getVisibleColumns()) {");
_builder.newLine();
_builder.append("\t");
_builder.append("String widthStr = user.getColumnUtil().getColumnWidth(this.getClass().getCanonicalName() + \".\" + visibleId.toString() + \".width\");");
_builder.newLine();
_builder.append("\t");
_builder.append("if (widthStr!= null) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("try {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("table.setColumnWidth(visibleId, Integer.parseInt(widthStr));");
_builder.newLine();
_builder.append("\t\t");
_builder.append("} catch (IllegalArgumentException e) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("// this occurs if a saved column is no longer existing due to model changes");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.append("// Setting table collapsed columns from the persisted user properties");
_builder.newLine();
_builder.append("for (Object propertyId : table.getContainerDataSource().getContainerPropertyIds()) {");
_builder.newLine();
_builder.append("\t");
_builder.append("String collapsedColumn = user.getColumnUtil().getColumnCollapsed(this.getClass().getCanonicalName() + \".\" + propertyId + \".collapsed\");");
_builder.newLine();
_builder.append("\t");
_builder.append("try {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("if (collapsedColumn != null){");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("table.setColumnCollapsed(propertyId, true);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("} catch (IllegalArgumentException e) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("// this occurs if a saved column is no longer existing due to model changes");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
return _builder;
}
public CharSequence getMsgValue(final LEntityAttribute attribute, final String string) {
StringConcatenation _builder = new StringConcatenation();
_builder.append(this.CONVERT_METHOD_PREFIX);
String _firstUpper = StringExtensions.toFirstUpper(this._modelExtensions.typeName(attribute));
_builder.append(_firstUpper);
_builder.append("(");
_builder.append(string);
_builder.append(")");
return _builder;
}
public String buildTopic(final DatamartDefinition datamart, final String referenceName) {
String topic = "";
DatamartSource _source = datamart.getSource();
if ((_source instanceof DatamartEntity)) {
DatamartSource _source_1 = datamart.getSource();
LEntity entity = ((DatamartEntity) _source_1).getEntityRef();
EObject eObj = datamart.eContainer();
while ((!(eObj instanceof DatamartPackage))) {
eObj = eObj.eContainer();
}
if ((eObj != null)) {
String pckName = this._iQualifiedNameProvider.getFullyQualifiedName(((DatamartPackage) eObj)).toString().replace(".", "/");
topic = pckName.concat("/").concat(datamart.getName()).concat("/").concat(entity.getName()).concat("/").concat(referenceName);
}
}
return topic;
}
/**
* <p>helper method to convert a rgb string to a hex string.</p>
*/
public String StringtoHex(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>helper method to convert a rgb string to a rgb syntax.</p>
*/
public String toRGB(final String rgb) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("rgb(");
_builder.append(rgb);
_builder.append(")");
return _builder.toString();
}
public void initIdMap(final Table table, final HashMap<String, IdAttribute> map) {
map.clear();
TableDatamart _dataMartTable = this.getDataMartTable(table);
if ((_dataMartTable instanceof TableDatamart)) {
TableDatamart _dataMartTable_1 = this.getDataMartTable(table);
DatamartDefinition datamart = ((TableDatamart) _dataMartTable_1).getDatamartRef();
DatamartSource _source = datamart.getSource();
if ((_source instanceof DatamartEntity)) {
DatamartSource _source_1 = datamart.getSource();
DatamartEntity entity = ((DatamartEntity) _source_1);
this.iterateIdMap(entity, map);
}
}
}
public void iterateIdMap(final DatamartEntity entity, final HashMap<String, IdAttribute> map) {
IdAttribute prop = new IdAttribute();
prop.collapsed = true;
map.put(DatamartDefinitionUtil.getEntityIdAliasName(entity.getEntityRef()), prop);
boolean _isHistorizedOrTimedependentWithParent = entity.getEntityRef().isHistorizedOrTimedependentWithParent();
if (_isHistorizedOrTimedependentWithParent) {
map.put(DatamartDefinitionUtil.getEntityValidAliasName(entity.getEntityRef()), prop);
map.put(DatamartDefinitionUtil.getEntityCurrentAliasName(entity.getEntityRef()), prop);
}
EList<DatamartNavigation> _navigations = entity.getNavigations();
for (final DatamartNavigation navigation : _navigations) {
this.iterateIdMap(navigation.getDatamartEntity(), map);
}
}
public CharSequence localeChanged(final Table table) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("if(initDone) {");
_builder.newLine();
_builder.append("\t");
_builder.append("tableFilterDecorator.setLocale(locale);");
_builder.newLine();
_builder.append("\t");
_builder.append("for(CellSetFilterTable table:tables) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("table.setLocale(locale);");
_builder.newLine();
{
if (((this.isTable(table) &&
((TableDatamart) this.getDataMartTable(table)).getDatamartRef().isDescription()) &&
(((TableDatamart) this.getDataMartTable(table)).getDatamartRef().getDescriptionValue() != null))) {
_builder.append("\t\t");
_builder.append("table.setDescription(dslMetadataService.translate(locale.toLanguageTag(), \"");
TableDatamart _dataMartTable = this.getDataMartTable(table);
String _descriptionValue = ((TableDatamart) _dataMartTable).getDatamartRef().getDescriptionValue();
_builder.append(_descriptionValue, "\t\t");
_builder.append("\"));");
_builder.newLineIfNotEmpty();
}
}
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("for(String key:attributeLookupMap.keySet()) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("attributeLookupMap.get(key).setLocale(locale);");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("if(dataSourceContainer != null) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("dataSourceContainer.setLocale(locale);");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("layoutManager.setLabelValue(dslMetadataService.translate(locale.toLanguageTag(), \"");
String _name = table.getName();
_builder.append(_name, "\t");
_builder.append("\"));");
_builder.newLineIfNotEmpty();
_builder.append("}");
_builder.newLine();
return _builder;
}
public CharSequence selectItemsFromWorkloadDto(final Table table) {
CharSequence _xblockexpression = null;
{
DatamartEntity datamartEntity = ((DatamartEntity) null);
LEntity entity = ((LEntity) null);
String alias = ((String) null);
String dtoFqn = ((String) null);
LDataType keyType = ((LDataType) null);
String keyGetter = ((String) null);
TableDatamart _dataMartTable = this.getDataMartTable(table);
if ((_dataMartTable instanceof TableDatamart)) {
TableDatamart _dataMartTable_1 = this.getDataMartTable(table);
DatamartSource _source = ((TableDatamart) _dataMartTable_1).getDatamartRef().getSource();
boolean _matched = false;
if (_source instanceof DatamartEntity) {
_matched=true;
TableDatamart _dataMartTable_2 = this.getDataMartTable(table);
DatamartSource _source_1 = ((TableDatamart) _dataMartTable_2).getDatamartRef().getSource();
datamartEntity = ((DatamartEntity) _source_1);
EObject _resolve = EcoreUtil2.resolve(datamartEntity.getEntityRef(), table.eResource());
entity = ((LEntity) _resolve);
keyType = this._modelExtensions.getDatatype(entity.getPrimaryKeyAttribute());
StringConcatenation _builder = new StringConcatenation();
_builder.append("get");
String _firstUpper = StringExtensions.toFirstUpper(entity.getPrimaryKeyAttribute().getName());
_builder.append(_firstUpper);
_builder.append("()");
keyGetter = _builder.toString();
alias = DatamartDefinitionUtil.getEntityIdAliasName(entity).toLowerCase();
dtoFqn = EntityUtils.getDtoFQNForLEntity(entity);
}
}
StringConcatenation _builder = new StringConcatenation();
_builder.append("List<Integer> selections = new ArrayList<>();");
_builder.newLine();
_builder.append("if(taskSummary != null) {");
_builder.newLine();
_builder.append("\t");
_builder.append("IDto workloadDto = taskClient.getWorkloadDto(taskSummary);");
_builder.newLine();
_builder.append("\t");
_builder.append("List<IDto> operativeDtos = workLoadItem.getOperativeDtos(workloadDto);");
_builder.newLine();
_builder.append("\t");
_builder.append("if\t(operativeDtos != null) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("Set<String> ids = new TreeSet<String>();");
_builder.newLine();
_builder.append("\t ");
_builder.append("for\t(IDto operativeDto : operativeDtos) {");
_builder.newLine();
_builder.append("\t \t");
_builder.append("ids.add(String.valueOf(((");
_builder.append(dtoFqn, "\t \t");
_builder.append(")operativeDto).");
_builder.append(keyGetter, "\t \t");
_builder.append("));");
_builder.newLineIfNotEmpty();
_builder.append("\t ");
_builder.append("}");
_builder.newLine();
_builder.append("\t ");
_builder.append("for\t(Object selection : dataSourceContainer.getAllItemIds()) {");
_builder.newLine();
_builder.append("\t ");
_builder.append("String idValue = dataSourceContainer.getStringValueByProperty((Integer)selection,\"");
_builder.append(alias, "\t ");
_builder.append("\");");
_builder.newLineIfNotEmpty();
_builder.append("\t \t");
_builder.append("if\t(ids.contains(idValue)) {");
_builder.newLine();
_builder.append("\t \t\t");
_builder.append("selections.add((Integer)selection);");
_builder.newLine();
_builder.append("\t \t");
_builder.append("}");
_builder.newLine();
_builder.append("\t ");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("selectTable.setValue(selections);");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_xblockexpression = _builder;
}
return _xblockexpression;
}
public CharSequence rowChecked(final Table table) {
CharSequence _xifexpression = null;
TableDatamart _dataMartTable = this.getDataMartTable(table);
if ((_dataMartTable instanceof TableDatamart)) {
CharSequence _switchResult = null;
TableDatamart _dataMartTable_1 = this.getDataMartTable(table);
DatamartSource _source = ((TableDatamart) _dataMartTable_1).getDatamartRef().getSource();
boolean _matched = false;
if (_source instanceof DatamartEntity) {
_matched=true;
CharSequence _xblockexpression = null;
{
TableDatamart _dataMartTable_2 = this.getDataMartTable(table);
DatamartSource _source_1 = ((TableDatamart) _dataMartTable_2).getDatamartRef().getSource();
DatamartEntity datamartEntity = ((DatamartEntity) _source_1);
EObject _resolve = EcoreUtil2.resolve(datamartEntity.getEntityRef(), table.eResource());
LEntity entity = ((LEntity) _resolve);
String alias = DatamartDefinitionUtil.getEntityIdAliasName(entity).toLowerCase();
LDataType keyType = this._modelExtensions.getDatatype(entity.getPrimaryKeyAttribute());
String dtoFqn = EntityUtils.getDtoFQNForLEntity(entity);
StringConcatenation _builder = new StringConcatenation();
_builder.append("IDTOService<");
_builder.append(dtoFqn);
_builder.append("> dtoService = (IDTOService<");
_builder.append(dtoFqn);
_builder.append(">) DtoServiceAccess.getService(");
_builder.append(dtoFqn);
_builder.append(".class);");
_builder.newLineIfNotEmpty();
_builder.append("String idValue = dataSourceContainer.getStringValueByProperty((Integer)selection,\"");
_builder.append(alias);
_builder.append("\");");
_builder.newLineIfNotEmpty();
_builder.append("if(taskSummary != null) {");
_builder.newLine();
_builder.append("\t");
_builder.append("if\t(selected) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("workLoadItem.addOperativeDto(taskClient.getWorkloadDto(taskSummary), ");
{
boolean _equals = "int".equals(keyType.getName());
if (_equals) {
_builder.append("dtoService.get((int) Integer.parseInt(idValue))");
} else {
_builder.append("dtoService.get(idValue)");
}
}
_builder.append(");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("else {");
_builder.newLine();
_builder.append("\t \t");
_builder.append("for(IDto dtoToRemove : workLoadItem.getOperativeDtos(taskClient.getWorkloadDto(taskSummary))) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("if(((");
_builder.append(dtoFqn, "\t\t\t");
_builder.append(")dtoToRemove).getId()");
{
boolean _equals_1 = "int".equals(keyType.getName());
if (_equals_1) {
_builder.append("==(int) Integer.parseInt(idValue)");
} else {
_builder.append(".equals(idValue)");
}
}
_builder.append(") {");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t\t");
_builder.append("workLoadItem.removeOperativeDto(taskClient.getWorkloadDto(taskSummary), dtoToRemove);");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("break;");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("} else {");
_builder.newLine();
_builder.append("\t");
_builder.append("if(selected) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("SelectionStore.addSelectionToPerspectiveContext(getPart(), \"");
_builder.append(dtoFqn, "\t\t");
_builder.append("\", ");
{
boolean _equals_2 = "int".equals(keyType.getName());
if (_equals_2) {
_builder.append("dtoService.get((int) Integer.parseInt(idValue))");
} else {
_builder.append("dtoService.get(idValue)");
}
}
_builder.append(");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("} else {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("SelectionStore.removeSelectionFromPerspectiveContext(getPart(), \"");
_builder.append(dtoFqn, "\t\t");
_builder.append("\", ");
{
boolean _equals_3 = "int".equals(keyType.getName());
if (_equals_3) {
_builder.append("dtoService.get((int) Integer.parseInt(idValue))");
} else {
_builder.append("dtoService.get(idValue)");
}
}
_builder.append(");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_xblockexpression = _builder;
}
_switchResult = _xblockexpression;
}
_xifexpression = _switchResult;
}
return _xifexpression;
}
public void toBinderFields(final JvmDeclaredType type, final TablePackage tablePckg) {
JvmField field = null;
final Procedure1<JvmField> _function = (JvmField it) -> {
final Procedure1<ITreeAppendable> _function_1 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("org.slf4j.LoggerFactory.getLogger(\"servicebinder\")");
it_1.append(_builder);
};
this._jvmTypesBuilder.setInitializer(it, _function_1);
};
field = this._jvmTypesBuilder.toField(tablePckg, "log", this._typeReferenceBuilder.typeRef(Logger.class), _function);
field.setStatic(true);
field.setVisibility(JvmVisibility.PRIVATE);
EList<JvmMember> _members = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
field = this._jvmTypesBuilder.toField(tablePckg, "userAccessService", this._typeReferenceBuilder.typeRef(IUserAccessService.class));
field.setStatic(true);
field.setVisibility(JvmVisibility.PRIVATE);
EList<JvmMember> _members_1 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_1, field);
}
public void toBinderOperations(final JvmDeclaredType type, final TablePackage tablePckg) {
EList<JvmMember> _members = type.getMembers();
final Procedure1<JvmOperation> _function = (JvmOperation it) -> {
it.setVisibility(JvmVisibility.PUBLIC);
it.setStatic(true);
final Procedure1<ITreeAppendable> _function_1 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("return userAccessService;");
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_1);
};
JvmOperation _method = this._jvmTypesBuilder.toMethod(tablePckg, "getUserAccessService", this._typeReferenceBuilder.typeRef(IUserAccessService.class), _function);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members, _method);
EList<JvmMember> _members_1 = type.getMembers();
final Procedure1<JvmOperation> _function_1 = (JvmOperation it) -> {
JvmAnnotationReference annotationRef = this._annotationTypesBuilder.annotationRef(Reference.class);
this._annotationExtension.addAnnAttr(annotationRef, tablePckg, "cardinality", ReferenceCardinality.MANDATORY);
this._annotationExtension.addAnnAttr(annotationRef, tablePckg, "policy", ReferencePolicy.STATIC);
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, annotationRef);
it.setVisibility(JvmVisibility.PUBLIC);
it.setSynchronized(true);
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(tablePckg, "userAccessService", this._typeReferenceBuilder.typeRef(IUserAccessService.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
final Procedure1<ITreeAppendable> _function_2 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
String _firstUpper = StringExtensions.toFirstUpper(this._iQualifiedNameProvider.getFullyQualifiedName(tablePckg).getLastSegment());
String _plus = (_firstUpper + "ServiceBinder");
_builder.append(_plus);
_builder.append(".userAccessService = userAccessService;");
_builder.newLineIfNotEmpty();
_builder.append("log.debug(\"Datamart UserAccessService bound\");");
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_2);
};
JvmOperation _method_1 = this._jvmTypesBuilder.toMethod(tablePckg, "bindUserAccessMethod", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_1);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_1, _method_1);
EList<JvmMember> _members_2 = type.getMembers();
final Procedure1<JvmOperation> _function_2 = (JvmOperation it) -> {
it.setVisibility(JvmVisibility.PUBLIC);
it.setSynchronized(true);
EList<JvmFormalParameter> _parameters = it.getParameters();
JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(tablePckg, "userAccessService", this._typeReferenceBuilder.typeRef(IUserAccessService.class));
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
final Procedure1<ITreeAppendable> _function_3 = (ITreeAppendable it_1) -> {
StringConcatenation _builder = new StringConcatenation();
String _firstUpper = StringExtensions.toFirstUpper(this._iQualifiedNameProvider.getFullyQualifiedName(tablePckg).getLastSegment());
String _plus = (_firstUpper + "ServiceBinder");
_builder.append(_plus);
_builder.append(".userAccessService = null;");
_builder.newLineIfNotEmpty();
_builder.append("log.debug(\"Datamart UserAccessService unbound\");");
it_1.append(_builder);
};
this._jvmTypesBuilder.setBody(it, _function_3);
};
JvmOperation _method_2 = this._jvmTypesBuilder.toMethod(tablePckg, "unbindUserAccessMethod", this._typeReferenceBuilder.typeRef(Void.TYPE), _function_2);
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_2, _method_2);
}
public void infer(final EObject pkg, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) {
if (pkg instanceof TablePackage) {
_infer((TablePackage)pkg, acceptor, isPreIndexingPhase);
return;
} else if (pkg != null) {
_infer(pkg, acceptor, isPreIndexingPhase);
return;
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(pkg, acceptor, isPreIndexingPhase).toString());
}
}
}