use of org.kie.workbench.common.widgets.client.datamodel.AsyncPackageDataModelOracle in project drools-wb by kiegroup.
the class RowExpanderTests method testExpansionWithGuvnorDependentEnumsExplicitExpansion1_2enum_x_2values.
@Test
public void testExpansionWithGuvnorDependentEnumsExplicitExpansion1_2enum_x_2values() {
GuidedDecisionTable52 model = new GuidedDecisionTable52();
final String enumDefinitions = "'Fact.field1' : ['f1a', 'f1b'], " + "'Fact.field2[field1=f1a]' : ['f1af2a', 'f1af2b'], " + "'Fact.field2[field1=f1b]' : ['f1bf2a', 'f1bf2b']";
final ModuleDataModelOracle projectLoader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()).addFact("Fact").addField(new ModelField("field1", String.class.getName(), ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.BOTH, DataType.TYPE_STRING)).addField(new ModelField("field2", String.class.getName(), ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.BOTH, DataType.TYPE_STRING)).end().build();
final PackageDataModelOracle packageLoader = PackageDataModelOracleBuilder.newPackageOracleBuilder(new RawMVELEvaluator()).setModuleOracle(projectLoader).addEnum(enumDefinitions, Thread.currentThread().getContextClassLoader()).build();
// Emulate server-to-client conversions
final AsyncPackageDataModelOracle oracle = getOracle();
final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
dataModel.setModelFields(projectLoader.getModuleModelFields());
dataModel.setWorkbenchEnumDefinitions(packageLoader.getPackageWorkbenchDefinitions());
populateDataModelOracle(mock(Path.class), model, oracle, dataModel);
Pattern52 p1 = new Pattern52();
p1.setBoundName("f1");
p1.setFactType("Fact");
model.getConditions().add(p1);
ConditionCol52 c1 = new ConditionCol52();
c1.setFactField("field1");
c1.setOperator("==");
c1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
p1.getChildColumns().add(c1);
ConditionCol52 c2 = new ConditionCol52();
c2.setFactField("field2");
c2.setOperator("==");
c2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
p1.getChildColumns().add(c2);
ActionSetFieldCol52 a1 = new ActionSetFieldCol52();
a1.setBoundName("f1");
a1.setFactField("field1");
model.getActionCols().add(a1);
ActionInsertFactCol52 a2 = new ActionInsertFactCol52();
a2.setBoundName("f2");
a2.setFactType("Fact");
a2.setFactField("field1");
model.getActionCols().add(a2);
RowExpander re = new RowExpander(model, oracle);
// Explicitly set which columns to expand
for (ConditionCol52 c : p1.getChildColumns()) {
re.setExpandColumn(c, true);
}
List<RowExpander.ColumnValues> columns = re.getColumns();
assertEquals(6, columns.size());
assertTrue(columns.get(0) instanceof RowExpander.ColumnValues);
assertTrue(columns.get(1) instanceof RowExpander.ColumnValues);
assertTrue(columns.get(2) instanceof RowExpander.ColumnValues);
assertTrue(columns.get(3) instanceof RowExpander.ColumnDynamicValues);
assertTrue(columns.get(4) instanceof RowExpander.ColumnValues);
assertTrue(columns.get(5) instanceof RowExpander.ColumnValues);
// Can't check size of values for ColumnDynamicValues as they depend on the other columns
assertEquals(1, columns.get(0).values.size());
assertEquals(1, columns.get(1).values.size());
assertEquals(2, columns.get(2).values.size());
assertEquals(1, columns.get(4).values.size());
assertEquals(1, columns.get(5).values.size());
// Expected data
// --> f1a, f1af2a
// --> f1a, f1af2b
// --> f1b, f1bf2a
// --> f1b, f1bf2b
RowExpander.RowIterator ri = re.iterator();
assertTrue(ri.hasNext());
List<DTCellValue52> row0 = ri.next();
assertEquals(6, row0.size());
assertEquals("f1a", row0.get(2).getStringValue());
assertEquals("f1af2a", row0.get(3).getStringValue());
assertTrue(ri.hasNext());
List<DTCellValue52> row1 = ri.next();
assertEquals(6, row1.size());
assertEquals("f1a", row1.get(2).getStringValue());
assertEquals("f1af2b", row1.get(3).getStringValue());
assertTrue(ri.hasNext());
List<DTCellValue52> row3 = ri.next();
assertEquals(6, row3.size());
assertEquals("f1b", row3.get(2).getStringValue());
assertEquals("f1bf2a", row3.get(3).getStringValue());
assertTrue(ri.hasNext());
List<DTCellValue52> row4 = ri.next();
assertEquals(6, row4.size());
assertEquals("f1b", row4.get(2).getStringValue());
assertEquals("f1bf2b", row4.get(3).getStringValue());
assertFalse(ri.hasNext());
}
use of org.kie.workbench.common.widgets.client.datamodel.AsyncPackageDataModelOracle in project kie-wb-common by kiegroup.
the class KieMultipleDocumentEditorTestBase method activateDocument.
protected void activateDocument(final TestDocument document) {
final Overview overview = mock(Overview.class);
final AsyncPackageDataModelOracle dmo = mock(AsyncPackageDataModelOracle.class);
final Imports imports = mock(Imports.class);
final boolean isReadOnly = false;
editor.activateDocument(document, overview, dmo, imports, isReadOnly);
}
use of org.kie.workbench.common.widgets.client.datamodel.AsyncPackageDataModelOracle in project kie-wb-common by kiegroup.
the class KieMultipleDocumentEditorTest method testActivateDocument.
@Test
@SuppressWarnings("unchecked")
public void testActivateDocument() {
final TestDocument document = createTestDocument();
final ObservablePath path = document.getLatestPath();
final Overview overview = mock(Overview.class);
final AsyncPackageDataModelOracle dmo = mock(AsyncPackageDataModelOracle.class);
final Imports imports = mock(Imports.class);
final boolean isReadOnly = false;
registerDocument(document);
editor.activateDocument(document, overview, dmo, imports, isReadOnly);
assertEquals(document, editor.getActiveDocument());
verify(versionRecordManager, times(1)).init(eq(null), eq(path), any(Callback.class));
verify(kieEditorWrapperView, times(1)).clear();
verify(kieEditorWrapperView, times(1)).addMainEditorPage(eq(editorView));
verify(kieEditorWrapperView, times(1)).addOverviewPage(eq(overviewWidget), any(com.google.gwt.user.client.Command.class));
verify(kieEditorWrapperView, times(1)).addSourcePage(eq(editor.sourceWidget));
verify(kieEditorWrapperView, times(1)).addImportsTab(eq(importsWidget));
verify(overviewWidget, times(1)).setContent(eq(overview), eq(path));
verify(importsWidget, times(1)).setContent(eq(dmo), eq(imports), eq(isReadOnly));
}
use of org.kie.workbench.common.widgets.client.datamodel.AsyncPackageDataModelOracle in project drools-wb by kiegroup.
the class BaseGuidedDecisionTablePresenterTest method makeDecisionTable.
protected GuidedDecisionTableView.Presenter makeDecisionTable(final Path originalPath, final ObservablePath path, final PlaceRequest placeRequest, final GuidedDecisionTableEditorContent content) {
final GuidedDecisionTableView.Presenter dtPresenter = mock(GuidedDecisionTableView.Presenter.class);
final AsyncPackageDataModelOracle oracle = mock(AsyncPackageDataModelOracle.class);
final Overview overview = mock(Overview.class);
final GuidedDecisionTablePresenter.Access access = new GuidedDecisionTablePresenter.Access();
when(dtService.loadContent(eq(path))).thenReturn(content);
when(modeller.addDecisionTable(eq(path), eq(placeRequest), eq(content), anyBoolean(), any(), any())).thenReturn(dtPresenter);
when(path.getOriginal()).thenReturn(originalPath);
when(dtPresenter.getLatestPath()).thenReturn(path);
when(dtPresenter.getCurrentPath()).thenReturn(path);
when(dtPresenter.getPlaceRequest()).thenReturn(placeRequest);
when(dtPresenter.getModel()).thenReturn(content.getModel());
when(dtPresenter.getDataModelOracle()).thenReturn(oracle);
when(dtPresenter.getOverview()).thenReturn(overview);
when(dtPresenter.getAccess()).thenReturn(access);
when(dtPresenter.getView()).thenReturn(mock(GuidedDecisionTableView.class));
when(overview.getMetadata()).thenReturn(mock(Metadata.class));
return dtPresenter;
}
use of org.kie.workbench.common.widgets.client.datamodel.AsyncPackageDataModelOracle in project drools-wb by kiegroup.
the class BaseGuidedDecisionTableEditorPresenterTest method testActivateDocument.
@Test
public void testActivateDocument() {
final GuidedDecisionTableView.Presenter dtPresenter = mock(GuidedDecisionTableView.Presenter.class);
final Overview overview = mock(Overview.class);
final AsyncPackageDataModelOracle oracle = mock(AsyncPackageDataModelOracle.class);
final GuidedDecisionTable52 model = mock(GuidedDecisionTable52.class);
final Imports imports = mock(Imports.class);
final GuidedDecisionTablePresenter.Access access = mock(GuidedDecisionTablePresenter.Access.class);
final MultiPageEditor pageEditor = mock(MultiPageEditor.class);
final boolean isEditable = true;
doReturn(overview).when(dtPresenter).getOverview();
doReturn(oracle).when(dtPresenter).getDataModelOracle();
doReturn(model).when(dtPresenter).getModel();
doReturn(imports).when(model).getImports();
doReturn(access).when(dtPresenter).getAccess();
doReturn(isEditable).when(access).isEditable();
doReturn(pageEditor).when(presenter).getKieEditorWrapperMultiPage();
doNothing().when(presenter).activateDocument(any(), any(), any(), any(), anyBoolean());
presenter.activateDocument(dtPresenter);
verify(dtPresenter).activate();
verify(presenter).enableMenus(true);
verify(presenter).addColumnsTab();
verify(presenter).enableColumnsTab(dtPresenter);
verify(presenter).activateDocument(dtPresenter, overview, oracle, imports, !isEditable);
}
Aggregations