Correct naming for eploying

Handle Correctly decision table
This commit is contained in:
Nicolas Héron 2019-09-20 12:05:54 +02:00
commit b885e04aae
25 changed files with 1001 additions and 258 deletions

View file

@ -16,7 +16,6 @@
<spring-boot.version>2.1.2.RELEASE</spring-boot.version>
<spring-version>5.1.2.RELEASE</spring-version>
<webapp.directory>src/main/webapp</webapp.directory>
<jbpm.version>7.15.0.Final</jbpm.version>
</properties>
@ -89,6 +88,18 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-workbench-models-guided-dtable</artifactId>
<version>${jbpm.version}</version>
<exclusions>
<exclusion>
<groupId>org.uberfire</groupId>
<artifactId>uberfire-commons</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.offbytwo.jenkins</groupId>
<artifactId>jenkins-client</artifactId>
@ -243,6 +254,7 @@
<configuration>
<jvmArguments>-Dvaadin.productionMode</jvmArguments>
<executable>true</executable>
</configuration>
<executions>
<execution>

View file

@ -1,30 +1,22 @@
package org.chtijbug.drools.console.vaadinComponent.componentView;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.datepicker.DatePicker;
import com.vaadin.flow.component.dependency.StyleSheet;
import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.data.binder.Binder;
import org.chtijbug.drools.console.service.KieRepositoryService;
import org.chtijbug.drools.console.service.UserConnectedService;
import org.chtijbug.drools.console.service.model.UserConnected;
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
import org.chtijbug.drools.console.service.util.AppContext;
import org.drools.workbench.models.datamodel.rule.InterpolationVariable;
import org.chtijbug.drools.console.vaadinComponent.componentView.service.GuidedDecisionTableModelTransformer;
import org.chtijbug.drools.console.vaadinComponent.componentView.service.GuidedRuleTemplateModelTransformer;
import org.drools.workbench.models.guided.dtable.backend.GuidedDTXMLPersistence;
import org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52;
import org.drools.workbench.models.guided.template.backend.RuleTemplateModelXMLPersistenceImpl;
import org.drools.workbench.models.guided.template.shared.TemplateModel;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@StyleSheet("css/accueil.css")
public class AssetEdit extends Grid<HashMap<String, Object>> {
@ -48,21 +40,19 @@ public class AssetEdit extends Grid<HashMap<String, Object>> {
userConnectedService.getSpace(),
userConnectedService.getProject(),
userConnectedService.getAsset());
TemplateModel model = RuleTemplateModelXMLPersistenceImpl.getInstance().unmarshal(assetContent);
InterpolationVariable[] variablesList = model.getInterpolationVariablesList();
setClassName("grid-perso");
Binder<HashMap<String, Object>> binder = new Binder<>();
getEditor().setBinder(binder);
setClassName("grid-perso");
if (assetContent.startsWith("<decision-table52")==true){
GuidedDecisionTable52 model = GuidedDTXMLPersistence.getInstance().unmarshal(assetContent);
GuidedDecisionTableModelTransformer transform = new GuidedDecisionTableModelTransformer(model, binder, this);
transform.run();
}else {
TemplateModel model = RuleTemplateModelXMLPersistenceImpl.getInstance().unmarshal(assetContent);
GuidedRuleTemplateModelTransformer transform = new GuidedRuleTemplateModelTransformer(model,binder,this);
transform.run();
for (InterpolationVariable i : variablesList) {
addColumn(hashmap -> hashmap.get(i.getVarName())).setHeader(i.getVarName());
}
fillTable(model);
}
public AssetEdit(List<HashMap<String, Object>> objects) {
@ -93,22 +83,5 @@ public class AssetEdit extends Grid<HashMap<String, Object>> {
}
private void fillTable(TemplateModel model) {
InterpolationVariable[] variablesList = model.getInterpolationVariablesList();
DateFormat format = new SimpleDateFormat("dd-MMM-yyyy", Locale.FRANCE);
String[][] contenuTable = model.getTableAsArray();
List<HashMap<String, Object>> rows = new ArrayList<>();
for (int i = 0; i < model.getRowsCount(); i++) {
HashMap<String, Object> newRow = new HashMap<>();
rows.add(newRow);
String[] ligne = contenuTable[i];
int k = 0;
for (InterpolationVariable j : variablesList) {
newRow.put(j.getVarName(), ligne[k]);
k++;
}
}
setItems(rows);
}
}

View file

@ -0,0 +1,63 @@
package org.chtijbug.drools.console.vaadinComponent.componentView.service;
import com.vaadin.flow.data.binder.Binder;
import org.chtijbug.drools.console.vaadinComponent.componentView.AssetEdit;
import org.chtijbug.drools.console.vaadinComponent.componentView.service.dtmodel.ColumnDefinition;
import org.chtijbug.drools.console.vaadinComponent.componentView.service.dtmodel.DecisionTable;
import org.chtijbug.drools.console.vaadinComponent.componentView.service.dtmodel.GuidedException;
import org.chtijbug.drools.console.vaadinComponent.componentView.service.dtmodel.Row;
import org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
public class GuidedDecisionTableModelTransformer {
private GuidedDecisionTable52 model;
private Binder binder;
private AssetEdit assetEdit;
public GuidedDecisionTableModelTransformer(GuidedDecisionTable52 model, Binder binder, AssetEdit assetEdit) {
this.model = model;
this.binder = binder;
this.assetEdit = assetEdit;
}
public void run() {
try {
DecisionTable decisionTable = new DecisionTable(model);
for (ColumnDefinition columnDefinition : decisionTable.getColumnDefinitionList()) {
assetEdit.addColumn(hashmap -> hashmap.get(columnDefinition.getHeader())).setHeader(columnDefinition.getHeader());
}
fillTable(decisionTable);
} catch (GuidedException e) {
e.printStackTrace();
}
}
private void fillTable(DecisionTable decisionTable) {
List<ColumnDefinition> columnDefinitions = decisionTable.getColumnDefinitionList();
DateFormat format = new SimpleDateFormat("dd-MMM-yyyy", Locale.FRANCE);
List<HashMap<String, Object>> rows = new ArrayList<>();
for (int i = 0; i < decisionTable.getRows().size(); i++) {
Row row = decisionTable.getRows().get(i);
HashMap<String, Object> newRow = new HashMap<>();
rows.add(newRow);
int k = 0;
for (ColumnDefinition columnDefinition : decisionTable.getColumnDefinitionList()) {
newRow.put(columnDefinition.getHeader(), row.getRowElements().get(k).getValue());
k++;
}
}
assetEdit.setItems(rows);
}
}

View file

@ -0,0 +1,53 @@
package org.chtijbug.drools.console.vaadinComponent.componentView.service;
import com.vaadin.flow.data.binder.Binder;
import org.chtijbug.drools.console.vaadinComponent.componentView.AssetEdit;
import org.drools.workbench.models.datamodel.rule.InterpolationVariable;
import org.drools.workbench.models.guided.template.shared.TemplateModel;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
public class GuidedRuleTemplateModelTransformer {
private TemplateModel model;
private Binder binder;
private AssetEdit assetEdit;
public GuidedRuleTemplateModelTransformer(TemplateModel model, Binder binder,AssetEdit assetEdit) {
this.model = model;
this.binder = binder;
this.assetEdit = assetEdit;
}
public void run(){
InterpolationVariable[] variablesList = model.getInterpolationVariablesList();
for (InterpolationVariable i : variablesList) {
assetEdit.addColumn(hashmap -> hashmap.get(i.getVarName())).setHeader(i.getVarName());
}
fillTable(model);
}
private void fillTable(TemplateModel model) {
InterpolationVariable[] variablesList = model.getInterpolationVariablesList();
DateFormat format = new SimpleDateFormat("dd-MMM-yyyy", Locale.FRANCE);
String[][] contenuTable = model.getTableAsArray();
List<HashMap<String, Object>> rows = new ArrayList<>();
for (int i = 0; i < model.getRowsCount(); i++) {
HashMap<String, Object> newRow = new HashMap<>();
rows.add(newRow);
String[] ligne = contenuTable[i];
int k = 0;
for (InterpolationVariable j : variablesList) {
newRow.put(j.getVarName(), ligne[k]);
k++;
}
}
assetEdit.setItems(rows);
}
}

View file

@ -0,0 +1,217 @@
/*
* Copyright 2014 Pymma Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.chtijbug.drools.console.vaadinComponent.componentView.service.dtmodel;
import org.drools.workbench.models.guided.dtable.shared.model.*;
import org.kie.soup.project.datamodel.oracle.DataType;
/**
* Created by IntelliJ IDEA.
* Date: 26/04/12
* Time: 14:29
* To change this template use File | Settings | File Templates.
*/
public class ColumnDefinition {
private int columnNumber;
private ColumnType columnType;
private boolean hideColumn;
private boolean hasDefaultValue;
private String defaultValue;
private String fieldType;
private String header;
private RowNumberCol52 rowNumberCol52;
private DescriptionCol52 descriptionCol52;
private AttributeCol52 attributeCol52;
private ConditionCol52 conditionCol52;
private ActionInsertFactCol52 actionInsertFact52;
private DTCellValue52 defaultValueCell;
private ActionSetFieldCol52 actionSetFieldCol52;
public ColumnDefinition(int columnNumber, RowNumberCol52 rowNumberCol52) {
this.columnNumber = columnNumber;
this.columnType = ColumnType.rowNumber;
this.fieldType = DataType.TYPE_NUMERIC_INTEGER.toString();
this.rowNumberCol52 = rowNumberCol52;
this.header = rowNumberCol52.getHeader();
}
public ColumnDefinition(int columnNumber, DescriptionCol52 descriptionCol52) {
this.columnNumber = columnNumber;
this.columnType = ColumnType.description;
this.header = descriptionCol52.getHeader();
this.fieldType = DataType.TYPE_STRING.toString();
this.descriptionCol52 = descriptionCol52;
}
public ColumnDefinition(int columnNumber, AttributeCol52 attributeCol52) {
this.attributeCol52 = attributeCol52;
this.columnNumber = columnNumber;
this.columnType = ColumnType.attribute;
this.fieldType = DataType.TYPE_STRING.toString();
if (attributeCol52.getDefaultValue() != null) {
this.hasDefaultValue = true;
this.defaultValueCell = attributeCol52.getDefaultValue();
this.defaultValue = getValue(attributeCol52.getDefaultValue());
}
this.header = attributeCol52.getHeader();
this.hideColumn = attributeCol52.isHideColumn();
}
public ColumnDefinition(int columnNumber, ConditionCol52 conditionCol52) {
this.conditionCol52 = conditionCol52;
this.columnNumber = columnNumber;
this.columnType = ColumnType.condition;
this.fieldType = conditionCol52.getFieldType();
if (conditionCol52.getDefaultValue() != null) {
this.hasDefaultValue = true;
this.defaultValue = getValue(conditionCol52.getDefaultValue());
}
this.hideColumn = conditionCol52.isHideColumn();
this.header = conditionCol52.getHeader();
}
public ColumnDefinition(int columnNumber, ActionSetFieldCol52 actionSetFieldCol52) {
this.actionSetFieldCol52 = actionSetFieldCol52;
this.columnNumber = columnNumber;
this.columnType = ColumnType.action;
this.fieldType = actionSetFieldCol52.getType();
this.header = actionSetFieldCol52.getHeader();
if (actionSetFieldCol52.getDefaultValue() != null) {
DTCellValue52 defaultValue = actionSetFieldCol52.getDefaultValue();
if (!(DataType.TYPE_STRING.equals(defaultValue.getDataType()) && defaultValue.getStringValue().isEmpty())) {
this.hasDefaultValue = true;
this.defaultValue = getValue(actionSetFieldCol52.getDefaultValue());
}
}
this.hideColumn = actionSetFieldCol52.isHideColumn();
this.header = actionSetFieldCol52.getHeader();
}
public ColumnDefinition(int columnNumber, ActionInsertFactCol52 actionInsertFact52) {
this.actionInsertFact52 = actionInsertFact52;
this.columnNumber = columnNumber;
this.columnType = ColumnType.action;
this.fieldType = actionInsertFact52.getType();
this.header = actionInsertFact52.getHeader();
if (actionInsertFact52.getDefaultValue() != null) {
DTCellValue52 defaultValue = actionInsertFact52.getDefaultValue();
if (!(DataType.TYPE_STRING.equals(defaultValue.getDataType()) && defaultValue.getStringValue().isEmpty())) {
this.hasDefaultValue = true;
this.defaultValue = getValue(actionInsertFact52.getDefaultValue());
}
}
this.hideColumn = actionInsertFact52.isHideColumn();
this.header = actionInsertFact52.getHeader();
}
public static String getValue(DTCellValue52 cell) {
String value = null;
switch (cell.getDataType()) {
case BOOLEAN:
value = Boolean.toString(cell.getBooleanValue());
break;
case NUMERIC:
if (cell.getNumericValue()!= null) {
value = cell.getNumericValue().toString();
}else{
value="";
}
break;
case NUMERIC_INTEGER:
if (cell.getNumericValue()!= null) {
value = cell.getNumericValue().toString();
}else{
value="";
}
break;
case NUMERIC_DOUBLE:
if (cell.getNumericValue()!= null) {
value = cell.getNumericValue().toString();
}else{
value="";
}
break;
case STRING:
value = cell.getStringValue();
break;
case DATE:
if (cell.getDateValue()!= null) {
value = cell.getDateValue().toString();
}else{
value="";
}
break;
}
/**
* STRING,
NUMERIC,
NUMERIC_BIGDECIMAL,
NUMERIC_BIGINTEGER,
NUMERIC_BYTE,
NUMERIC_DOUBLE,
NUMERIC_FLOAT,
NUMERIC_INTEGER,
NUMERIC_LONG,
NUMERIC_SHORT,
DATE,
BOOLEAN
*/
return value;
}
public int getColumnNumber() {
return columnNumber;
}
public ColumnType getColumnDefinition() {
return columnType;
}
public boolean isHideColumn() {
return hideColumn;
}
public boolean isHasDefaultValue() {
return hasDefaultValue;
}
public String getDefaultValue() {
return defaultValue;
}
public AttributeCol52 getAttributeCol52() {
return attributeCol52;
}
public ConditionCol52 getPattern52() {
return conditionCol52;
}
public ActionInsertFactCol52 getActionInsertFact52() {
return actionInsertFact52;
}
public String getFieldType() {
return fieldType;
}
public String getHeader() {
return header;
}
public void setHeader(String header) {
this.header = header;
}
}

View file

@ -0,0 +1,26 @@
/*
* Copyright 2014 Pymma Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.chtijbug.drools.console.vaadinComponent.componentView.service.dtmodel;
/**
* Created by IntelliJ IDEA.
* Date: 26/04/12
* Time: 14:31
* To change this template use File | Settings | File Templates.
*/
public enum ColumnType {
rowNumber, description, attribute, condition, action
}

View file

@ -0,0 +1,122 @@
/*
* Copyright 2014 Pymma Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.chtijbug.drools.console.vaadinComponent.componentView.service.dtmodel;
import org.drools.workbench.models.guided.dtable.shared.model.*;
import java.util.ArrayList;
import java.util.List;
public class DecisionTable {
private String name;
private GuidedDecisionTable52 guidedDecisionTable52;
private List<ColumnDefinition> columnDefinitionList = new ArrayList<ColumnDefinition>();
private List<Row> rows = new ArrayList<Row>();
public DecisionTable(GuidedDecisionTable52 guidedDecisionTable52) throws GuidedException {
this.guidedDecisionTable52 = guidedDecisionTable52;
this.name = this.guidedDecisionTable52.getTableName();
ColumnDefinition rowNumberColumn = new ColumnDefinition(0, guidedDecisionTable52.getRowNumberCol());
rowNumberColumn.setHeader("ID");
columnDefinitionList.add(rowNumberColumn);
ColumnDefinition descriptionColumn = new ColumnDefinition(1, guidedDecisionTable52.getDescriptionCol());
descriptionColumn.setHeader("Description");
columnDefinitionList.add(descriptionColumn);
int columnNumber = 2;
for (AttributeCol52 attributeCol52 : this.guidedDecisionTable52.getAttributeCols()) {
ColumnDefinition columnDefinition = new ColumnDefinition(columnNumber, attributeCol52);
columnDefinition.setHeader(attributeCol52.getAttribute());
columnDefinitionList.add(columnDefinition);
columnNumber++;
}
for (Pattern52 pattern52 : this.guidedDecisionTable52.getPatterns()) {
for (ConditionCol52 conditionCol52 : pattern52.getChildColumns()) {
ColumnDefinition columnDefinition = new ColumnDefinition(columnNumber, conditionCol52);
columnDefinitionList.add(columnDefinition);
columnNumber++;
}
}
for (ActionCol52 actionCol52 : this.guidedDecisionTable52.getActionCols()) {
if (actionCol52 instanceof ActionInsertFactCol52) {
ActionInsertFactCol52 actionInsertFactCol52 = (ActionInsertFactCol52) actionCol52;
ColumnDefinition columnDefinition = new ColumnDefinition(columnNumber, actionInsertFactCol52);
columnDefinitionList.add(columnDefinition);
columnNumber++;
}else if (actionCol52 instanceof ActionSetFieldCol52){
ActionSetFieldCol52 actionSetFieldCol52 = (ActionSetFieldCol52) actionCol52;
ColumnDefinition columnDefinition = new ColumnDefinition(columnNumber, actionSetFieldCol52);
columnDefinitionList.add(columnDefinition);
columnNumber++;
}
}
for (List<DTCellValue52> line : this.guidedDecisionTable52.getData()) {
try {
Row newRow = new Row(line, this);
//Row newRow = fillRow(line);
rows.add(newRow);
} catch (GuidedException e) {
GuidedException chtijbugDroolsRestException = new GuidedException(e);
e.setClassName("DecisionTable.Constructor");
e.setAttribute("Data");
e.setValue(line.toString());
throw chtijbugDroolsRestException;
}
}
}
public Row createEmptyRow(int rowNumber) throws GuidedException {
for (int j = rowNumber; j < this.rows.size(); j++) {
this.rows.get(j).updateRowNumber(j + 1);
}
Row newRow = new Row(this, rowNumber);
rows.add(newRow);
this.guidedDecisionTable52.getData().add(newRow.getCellValue52List());
return newRow;
}
private void removeRow(int rowNumber) throws GuidedException {
rows.remove(rowNumber);
this.guidedDecisionTable52.getData().remove(rowNumber);
for (int j = rowNumber; j < this.rows.size(); j++) {
this.rows.get(j).updateRowNumber(j);
}
}
public void clearAllData() {
this.guidedDecisionTable52.getData().clear();
this.getRows().clear();
}
public String getName() {
return name;
}
public GuidedDecisionTable52 getGuidedDecisionTable52() {
return guidedDecisionTable52;
}
public List<ColumnDefinition> getColumnDefinitionList() {
return columnDefinitionList;
}
public List<Row> getRows() {
return rows;
}
}

View file

@ -0,0 +1,54 @@
/*
* Copyright 2014 Pymma Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.chtijbug.drools.console.vaadinComponent.componentView.service.dtmodel;
public class GuidedException extends Exception {
private String className;
private String attribute;
private String value;
public GuidedException(Throwable throwable) {
super(throwable);
}
public GuidedException(String s) {
super(s);
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public String getAttribute() {
return attribute;
}
public void setAttribute(String attribute) {
attribute = attribute;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

View file

@ -0,0 +1,85 @@
/*
* Copyright 2014 Pymma Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.chtijbug.drools.console.vaadinComponent.componentView.service.dtmodel;
import org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52;
import java.util.ArrayList;
import java.util.List;
public class Row {
private DecisionTable decisionTable;
private List<RowElement> rowElements = new ArrayList<RowElement>();
private List<DTCellValue52> cellValue52List;
protected Row(DecisionTable decisionTable, int rowNumber) throws GuidedException {
this.decisionTable = decisionTable;
this.cellValue52List = new ArrayList<DTCellValue52>();
for (ColumnDefinition col : this.decisionTable.getColumnDefinitionList()) {
RowElement newRowElement = new RowElement(col);
this.cellValue52List.add(newRowElement.getDtCellValue52());
if (col.getColumnNumber() == 0) {
try {
String newString = String.valueOf(rowNumber);
newRowElement.setValue(newString);
} catch (Exception e) {
GuidedException chtijbugDroolsRestException = new GuidedException(e);
chtijbugDroolsRestException.setClassName("Row");
chtijbugDroolsRestException.setValue(decisionTable.toString());
chtijbugDroolsRestException.setAttribute("protected Row(DecisionTable decisionTable,int rowNumber) throws ChtijbugDroolsRestException");
throw chtijbugDroolsRestException;
}
}
this.addRowElement(newRowElement);
}
}
protected Row(List<DTCellValue52> cellValue52List, DecisionTable decisionTable) throws GuidedException {
this.decisionTable = decisionTable;
this.cellValue52List = cellValue52List;
for (ColumnDefinition col : this.decisionTable.getColumnDefinitionList()) {
RowElement newRowElement = new RowElement(col, cellValue52List.get(col.getColumnNumber()));
this.addRowElement(newRowElement);
}
}
protected void updateRowNumber(int newRowNumber) throws GuidedException {
RowElement rowNumberElement = rowElements.get(0);
try {
rowNumberElement.setValue(String.valueOf(newRowNumber));
} catch (Exception e) {
GuidedException chtijbugDroolsRestException = new GuidedException(e);
chtijbugDroolsRestException.setAttribute("protected void updateRowNumber(int newRowNumber) throws ChtijbugDroolsRestExceptio");
chtijbugDroolsRestException.setClassName("Row");
throw chtijbugDroolsRestException;
}
}
public List<RowElement> getRowElements() {
return rowElements;
}
public void addRowElement(RowElement newRowElement) {
this.rowElements.add(newRowElement);
}
public List<DTCellValue52> getCellValue52List() {
return cellValue52List;
}
}

View file

@ -0,0 +1,144 @@
/*
* Copyright 2014 Pymma Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.chtijbug.drools.console.vaadinComponent.componentView.service.dtmodel;
import org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52;
import org.kie.soup.project.datamodel.oracle.DataType;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Created by IntelliJ IDEA.
* Date: 26/04/12
* Time: 14:47
* To change this template use File | Settings | File Templates.
*/
public class RowElement {
private ColumnDefinition columnDefinition;
private String value = "";
private DTCellValue52 dtCellValue52;
public RowElement(ColumnDefinition columnDefinition, DTCellValue52 dtCellValue52) throws GuidedException {
this.columnDefinition = columnDefinition;
this.dtCellValue52 = dtCellValue52;
this.value = ColumnDefinition.getValue(this.dtCellValue52);
}
public RowElement(ColumnDefinition columnDefinition) throws GuidedException {
this.columnDefinition = columnDefinition;
this.dtCellValue52 = new DTCellValue52();
if (this.columnDefinition.isHasDefaultValue()) {
this.value = this.columnDefinition.getDefaultValue();
if (this.columnDefinition.getColumnDefinition() == ColumnType.rowNumber) {
int rowNumber = new Integer(value).intValue();
this.dtCellValue52.setNumericValue(rowNumber + 1);
this.value = value;
} else if (this.columnDefinition.getColumnDefinition() == ColumnType.description) {
this.dtCellValue52.setStringValue(value);
} else if (this.columnDefinition.getColumnDefinition() == ColumnType.attribute) {
this.dtCellValue52.setStringValue(value);
try {
setValuedtCell(this.value);
} catch (Exception e) {
GuidedException chtijbugDroolsRestException = new GuidedException(e);
chtijbugDroolsRestException.setClassName("RowElement");
chtijbugDroolsRestException.setAttribute(this.columnDefinition.toString());
chtijbugDroolsRestException.setValue(this.value);
throw chtijbugDroolsRestException;
}
} else if (this.columnDefinition.getColumnDefinition() == ColumnType.condition) {
try {
setValuedtCell(this.value);
} catch (Exception e) {
GuidedException chtijbugDroolsRestException = new GuidedException(e);
chtijbugDroolsRestException.setClassName("RowElement");
chtijbugDroolsRestException.setAttribute(this.columnDefinition.toString());
chtijbugDroolsRestException.setValue(this.value);
throw chtijbugDroolsRestException;
}
} else if (this.columnDefinition.getColumnDefinition() == ColumnType.action) {
try {
setValuedtCell(this.value);
} catch (Exception e) {
GuidedException chtijbugDroolsRestException = new GuidedException(e);
chtijbugDroolsRestException.setClassName("RowElement");
chtijbugDroolsRestException.setAttribute(this.columnDefinition.toString());
chtijbugDroolsRestException.setValue(this.value);
throw chtijbugDroolsRestException;
}
}
}
}
public String getValue() {
return value;
}
public void setValue(String value) throws Exception {
this.value = value;
setValuedtCell(value);
}
public ColumnDefinition getColumnDefinition() {
return columnDefinition;
}
public DTCellValue52 getDtCellValue52() {
return dtCellValue52;
}
private void setValuedtCell(String aValue) throws Exception {
if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_STRING.toString())) {
this.dtCellValue52.setStringValue(aValue);
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_NUMERIC_BIGDECIMAL.toString())) {
this.dtCellValue52.setNumericValue(new BigDecimal(aValue));
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_NUMERIC_BIGINTEGER.toString())) {
this.dtCellValue52.setNumericValue(new BigInteger(aValue));
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_NUMERIC_BYTE.toString())) {
this.dtCellValue52.setNumericValue(new Byte(aValue));
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_NUMERIC_DOUBLE.toString())) {
this.dtCellValue52.setNumericValue(new Double(aValue));
} else if (this.columnDefinition.getFieldType().toUpperCase().equals("DOUBLE")) {
this.dtCellValue52.setNumericValue(new Double(aValue));
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_NUMERIC_FLOAT.toString())) {
this.dtCellValue52.setNumericValue(new Float(aValue));
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_NUMERIC_INTEGER.toString())) {
this.dtCellValue52.setNumericValue(new Integer(aValue));
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_NUMERIC_LONG.toString())) {
this.dtCellValue52.setNumericValue(new Long(aValue));
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_NUMERIC_SHORT.toString())) {
this.dtCellValue52.setNumericValue(new Short(aValue));
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_DATE.toString())) {
SimpleDateFormat sdf = new SimpleDateFormat();
Date newDate = sdf.parse(aValue);
this.dtCellValue52.setDateValue(newDate);
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_BOOLEAN.toString())) {
this.dtCellValue52.setBooleanValue(new Boolean(aValue));
} else if (this.columnDefinition.getFieldType().toUpperCase().equals(DataType.TYPE_NUMERIC.toString())) {
this.dtCellValue52.setNumericValue(new Double(aValue));
}
}
}

View file

@ -8,6 +8,6 @@ spring.data.elasticsearch.cluster-nodes=localhost:9300
spring.data.mongodb.database=businessProxyDB
spring.data.mongodb.host=localhost:27017
spring.data.mongodb.host=localhost:28017
spring.servlet.multipart.enabled=false

View file

@ -291,12 +291,6 @@
}
}
},
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
"dev": true
},
"bytes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
@ -344,9 +338,9 @@
"optional": true
},
"chalk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
@ -410,18 +404,18 @@
}
},
"color-convert": {
"version": "1.9.2",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
"integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"requires": {
"color-name": "1.1.1"
"color-name": "1.1.3"
}
},
"color-name": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
"integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=",
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"colors": {
@ -679,9 +673,9 @@
"dev": true
},
"esprima": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
"integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true
},
"etag": {
@ -753,9 +747,9 @@
}
},
"extend": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true,
"optional": true
},
@ -1093,9 +1087,9 @@
}
},
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
}
}
@ -1107,9 +1101,9 @@
"dev": true
},
"grunt": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz",
"integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==",
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.4.tgz",
"integrity": "sha512-PYsMOrOC+MsdGEkFVwMaMyc6Ob7pKmq+deg1Sjr+vvMWp35sztfwKE7qoN51V+UEtHsyNuMcGdgMLFkBHvMxHQ==",
"dev": true,
"requires": {
"coffeescript": "~1.10.0",
@ -1123,7 +1117,7 @@
"grunt-legacy-log": "~2.0.0",
"grunt-legacy-util": "~1.1.1",
"iconv-lite": "~0.4.13",
"js-yaml": "~3.5.2",
"js-yaml": "~3.13.0",
"minimatch": "~3.0.2",
"mkdirp": "~0.5.1",
"nopt": "~3.0.6",
@ -1142,6 +1136,12 @@
"nopt": "~3.0.6",
"resolve": "~1.1.0"
}
},
"resolve": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
"dev": true
}
}
},
@ -1241,9 +1241,9 @@
}
},
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
},
"supports-color": {
@ -1276,17 +1276,17 @@
}
},
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
}
}
},
"grunt-known-options": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz",
"integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
"integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
"dev": true
},
"grunt-legacy-log": {
@ -1302,9 +1302,9 @@
},
"dependencies": {
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
}
}
@ -1320,9 +1320,9 @@
},
"dependencies": {
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
}
}
@ -1343,9 +1343,9 @@
},
"dependencies": {
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
}
}
@ -1360,12 +1360,23 @@
}
},
"grunt-open": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/grunt-open/-/grunt-open-0.2.3.tgz",
"integrity": "sha1-FFrEUCalf8+qQz/9c5iuRtK9OVc=",
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/grunt-open/-/grunt-open-0.2.4.tgz",
"integrity": "sha512-3VxPWr6zZBVvEPtCMkjVtP30saT/VDIeUE8nWs8Y2tNgUPROKwWoWFwo1AUTNRM5oufJ2PL1eMVaL7Byv4NhQg==",
"dev": true,
"requires": {
"open": "~0.0.4"
"opn": "^5.4.0"
},
"dependencies": {
"opn": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
"integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
"dev": true,
"requires": {
"is-wsl": "^1.1.0"
}
}
}
},
"grunt-rev": {
@ -1461,9 +1472,9 @@
"dev": true
},
"hosted-git-info": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.1.tgz",
"integrity": "sha512-Ba4+0M4YvIDUUsprMjhVTU1yN9F2/LJSAl69ZpzaLT4l4j5mwTS6jqqW9Ojvj6lKz/veqPzpJBqGbXspOb533A==",
"version": "2.8.4",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
"integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==",
"dev": true
},
"http-errors": {
@ -1521,9 +1532,9 @@
"dev": true
},
"iconv-lite": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
@ -1599,15 +1610,6 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
"is-builtin-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"dev": true,
"requires": {
"builtin-modules": "^1.0.0"
}
},
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@ -1725,6 +1727,12 @@
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true
},
"is-wsl": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
"integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
"dev": true
},
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
@ -1751,13 +1759,13 @@
"optional": true
},
"js-yaml": {
"version": "3.5.5",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
"integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
"version": "3.13.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
"integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
"dev": true,
"requires": {
"argparse": "^1.0.2",
"esprima": "^2.6.0"
"argparse": "^1.0.7",
"esprima": "^4.0.0"
}
},
"jsbn": {
@ -1990,9 +1998,9 @@
"dev": true
},
"mixin-deep": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
"integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
"integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
"dev": true,
"requires": {
"for-in": "^1.0.2",
@ -2028,14 +2036,14 @@
}
},
"morgan": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz",
"integrity": "sha1-0B+mxlhZt2/PMbPLU6OCGjEdgFE=",
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz",
"integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==",
"dev": true,
"requires": {
"basic-auth": "~2.0.0",
"debug": "2.6.9",
"depd": "~1.1.1",
"depd": "~1.1.2",
"on-finished": "~2.3.0",
"on-headers": "~1.0.1"
}
@ -2081,13 +2089,13 @@
}
},
"normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"dev": true,
"requires": {
"hosted-git-info": "^2.1.4",
"is-builtin-module": "^1.0.0",
"resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
}
@ -2184,12 +2192,6 @@
"wrappy": "1"
}
},
"open": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
"integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=",
"dev": true
},
"opn": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz",
@ -2446,10 +2448,21 @@
"dev": true
},
"resolve": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
"dev": true
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
"integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
"dev": true,
"requires": {
"path-parse": "^1.0.6"
},
"dependencies": {
"path-parse": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
"dev": true
}
}
},
"resolve-dir": {
"version": "1.0.1",
@ -2474,12 +2487,28 @@
"dev": true
},
"rimraf": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"dev": true,
"requires": {
"glob": "^7.0.5"
"glob": "^7.1.3"
},
"dependencies": {
"glob": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
"integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
}
}
},
"safe-buffer": {
@ -2510,9 +2539,9 @@
"dev": true
},
"semver": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
"integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
},
"send": {
@ -2572,9 +2601,9 @@
}
},
"set-value": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
"integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
"integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
@ -2746,9 +2775,9 @@
"dev": true
},
"spdx-correct": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
"integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
"integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
"dev": true,
"requires": {
"spdx-expression-parse": "^3.0.0",
@ -2756,9 +2785,9 @@
}
},
"spdx-exceptions": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
"integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
"integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
"dev": true
},
"spdx-expression-parse": {
@ -2772,9 +2801,9 @@
}
},
"spdx-license-ids": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
"integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
"integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
"dev": true
},
"split-string": {
@ -2787,9 +2816,9 @@
}
},
"sprintf-js": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz",
"integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=",
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
"integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
"dev": true
},
"sshpk": {
@ -2883,9 +2912,9 @@
}
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
@ -2992,9 +3021,9 @@
"optional": true
},
"underscore.string": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz",
"integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
"integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
"dev": true,
"requires": {
"sprintf-js": "^1.0.3",
@ -3002,38 +3031,15 @@
}
},
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
"integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
"dev": true,
"requires": {
"arr-union": "^3.1.0",
"get-value": "^2.0.6",
"is-extendable": "^0.1.1",
"set-value": "^0.4.3"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
},
"set-value": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
"is-plain-object": "^2.0.1",
"to-object-path": "^0.3.0"
}
}
"set-value": "^2.0.1"
}
},
"unpipe": {
@ -3117,9 +3123,9 @@
"optional": true
},
"validate-npm-package-license": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
"integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
"dev": true,
"requires": {
"spdx-correct": "^3.0.0",

View file

@ -4,7 +4,7 @@
"dependencies": {},
"devDependencies": {
"connect-modrewrite": "0.3.10",
"grunt": "^1.0.3",
"grunt": "^1.0.4",
"grunt-connect-proxy": "^0.2.0",
"grunt-contrib-clean": "0.4.0",
"grunt-contrib-concat": "0.1.3",
@ -13,7 +13,7 @@
"grunt-contrib-cssmin": "0.7.0",
"grunt-contrib-less": "^2.0.0",
"grunt-contrib-watch": "^1.1.0",
"grunt-open": "^0.2.3",
"grunt-open": "^0.2.4",
"grunt-rev": "0.1.0",
"grunt-usemin": "0.1.10",
"matchdep": "^2.0.0"

View file

@ -147,6 +147,22 @@
<target>1.8</target>
</configuration>
</plugin>
<!--plugin>
<groupId>com.github.trecloux</groupId>
<artifactId>yeoman-maven-plugin</artifactId>
<version>0.5</version>
<configuration>
<yeomanProjectDirectory>${project.basedir}</yeomanProjectDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin-->
</plugins>
</build>
<profiles>

View file

@ -1,50 +0,0 @@
/*
* Copyright 2014 Pymma Software
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.chtijbug.swimmingpool.web;
import org.chtijbug.drools.generic.restclient.rest.UsedRestAPI;
import org.springframework.web.bind.annotation.*;
import org.training.leisure.swimmingpool.Quote;
import javax.annotation.Resource;
/**
* Created by IntelliJ IDEA.
* Date: 08/10/14
* Time: 10:37
* To change this template use File | Settings | File Templates.
*/
@RestController
@RequestMapping("/quote")
public class QuoteController {
@Resource
private UsedRestAPI serviceCalculate;
@RequestMapping(value = "/calculate/{containerId:.+}/{className:.+}", method = RequestMethod.PUT)
public Quote storeTicket(@PathVariable("containerId") String containerid,
@PathVariable("className") String className,
@RequestBody Quote quoteRequest) {
Quote response = null;
try {
// response = (Quote) serviceCalculate.runSession(containerid, "swimmingpool.P000", Quote.class.getCanonicalName(), quoteRequest);
response = (Quote) serviceCalculate.runSession(containerid, "swimmingpool.P000", className, quoteRequest);
} catch (Exception e) {
e.printStackTrace();
}
return response;
}
}

View file

@ -147,8 +147,8 @@
<orderEntry type="library" name="Maven: com.google.guava:guava:13.0.1" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.7" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.24.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.24.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.24.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.23.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.23.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.23.0.Final" level="project" />
</component>
</module>

View file

@ -75,6 +75,8 @@
</dependencies>
<build>
<finalName>drools-framework-business-indexer-app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
@ -87,6 +89,9 @@
</goals>
</execution>
</executions>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>

View file

@ -1 +1,12 @@
docker run -p 5000:5000 elastichq/elasticsearch-hq
docker run -p 5000:5000 elastichq/elasticsearch-hq
PUT droolstransaction/_settings
{
"index.mapping.total_fields.limit": 200000
}
PUT droolsaction/_settings
{
"index.mapping.total_fields.limit": 200000
}

View file

@ -2,7 +2,7 @@ FROM openjdk:8-jre-slim
ADD application.properties /application.properties
ADD maven/drools-framework-business-indexer-app-1.1-SNAPSHOT.jar app.jar
ADD maven/drools-framework-business-indexer-app.jar app.jar
RUN mkdir /root/.ssh
RUN echo toto > /root/.ssh/known_hosts

View file

@ -92,8 +92,8 @@
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:13.0.1" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.1" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.24.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.24.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.24.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.23.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.23.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.23.0.Final" level="project" />
</component>
</module>

View file

@ -215,6 +215,7 @@
</dependencies>
<build>
<finalName>drools-framework-business-proxy-app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>

View file

@ -4,7 +4,7 @@ EXPOSE 9080
EXPOSE 8090
EXPOSE 4000
ADD application.properties /application.properties
ADD maven/drools-framework-business-proxy-app-1.1-SNAPSHOT.jar app.jar
ADD maven/drools-framework-business-proxy-app.jar app.jar
USER root
RUN mkdir /m2_kieserver
RUN mkdir /m2_kieserver/repository

View file

@ -20,4 +20,8 @@ camel.springboot.name=MyCamel
# to reconfigure the camel servlet context-path mapping to use /api/* instead of /camel/*
camel.component.servlet.mapping.context-path=/api/*
spring.data.mongodb.database=businessProxyDB
spring.data.mongodb.host=localhost:27017
spring.data.mongodb.host=localhost:28017
eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/
spring.application.name=proxy-app-${org.kie.server.id}

View file

@ -91,6 +91,7 @@
</dependencies>
</dependencyManagement>
<build>
<finalName>drools-framework-business-reverse-proxy</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>

View file

@ -2,7 +2,7 @@ FROM openjdk:8-jre-slim
ADD application.properties /application.properties
ADD maven/drools-framework-business-reverse-proxy-1.1-SNAPSHOT.jar app.jar
ADD maven/drools-framework-business-reverse-proxy.jar app.jar