public static ScoreCardModel makeScoreCardWithCharacteristics(final String packageName, final Collection<Import> imports, final String name) { final ScoreCardModel model = new ScoreCardModel(); model.getImports().getImports().addAll(imports); model.setPackageName(packageName); model.setName(name); model.setFactName("Applicant"); model.setFieldName("age"); final Characteristic c = new Characteristic(); c.setName("c1"); c.setFact("Mortgage"); c.setField("amount"); c.setDataType(DataType.TYPE_NUMERIC_INTEGER); model.getCharacteristics().add(c); return model; }
public void visit() { final String typeName = model.getFactName(); if (typeName == null || typeName.isEmpty()) { return; final String fieldName = model.getFieldName(); if (fieldName == null || fieldName.isEmpty()) { return; for (Characteristic c : model.getCharacteristics()) { visit(c); String agendaGroup = model.getAgendaGroup(); if (agendaGroup != null && !agendaGroup.isEmpty()) { addSharedReference(agendaGroup, PartType.AGENDA_GROUP); String ruleFlowGroup = model.getRuleFlowGroup(); if (ruleFlowGroup != null && !ruleFlowGroup.isEmpty()) { addSharedReference(ruleFlowGroup, Imports imports = model.getImports(); if (imports != null) { visit(imports);
public GuidedScoreCardModelVisitor(final ScoreCardModel model) { this.model = PortablePreconditions.checkNotNull("model", model); this.packageName = model.getPackageName(); this.imports = model.getImports(); }
public static ScoreCardModel createEmptyGuidedScoreCard() { final ScoreCardModel model = new ScoreCardModel(); model.setName( "test" ); return model; }
public static ScoreCardModel makeEmptyScoreCard(final String packageName, final String name) { final ScoreCardModel model = new ScoreCardModel(); model.setPackageName(packageName); model.setName(name); return model; } }
final ScoreCardModel model = new ScoreCardModel(); model.setName("test_short"); model.setPackageName("org.drools.workbench.models.guided.scorecard.backend.test2"); model.setReasonCodesAlgorithm( "none" ); model.setBaselineScore( 0.0 ); model.setInitialScore( 0.0 ); model.setFactName( "Applicant" ); model.setFieldName( "calculatedScore" ); model.setUseReasonCodes( false ); model.setReasonCodeField( "" ); model.getCharacteristics().add( c );
extension.setValue(model.getFactName()); String agendaGroup = model.getAgendaGroup(); if (!StringUtils.isEmpty(agendaGroup)) { extension = new Extension(); String ruleFlowGroup = model.getRuleFlowGroup(); if (!StringUtils.isEmpty(ruleFlowGroup)) { extension = new Extension(); List<String> imports = new ArrayList<String>(); StringBuilder importBuilder = new StringBuilder(); for (Import imp : model.getImports().getImports()) { if (!imports.contains(imp.getType())) { imports.add(imp.getType()); extension.setValue(model.getFieldName()); pmmlScorecard.getExtensionsAndCharacteristicsAndMiningSchemas().add(extension); String pkgName = model.getPackageName(); extension.setValue(!(pkgName == null || pkgName.isEmpty()) ? pkgName : null); pmmlScorecard.getExtensionsAndCharacteristicsAndMiningSchemas().add(extension); final String modelName = convertToJavaIdentifier(model.getName()); pmmlScorecard.setModelName(modelName); pmmlScorecard.setInitialScore(model.getInitialScore()); pmmlScorecard.setUseReasonCodes(model.isUseReasonCodes()); if (model.isUseReasonCodes()) {
model.setBaselineScore(Double.parseDouble(tbBaselineScore.getValue())); model.setInitialScore(Double.parseDouble(tbInitialScore.getValue())); model.setUseReasonCodes(ddUseReasonCode.getSelectedIndex() == 1); if (ddReasonCodeAlgorithm.getSelectedIndex() > 0) { model.setReasonCodesAlgorithm(ddReasonCodeAlgorithm.getValue(ddReasonCodeAlgorithm.getSelectedIndex())); } else { model.setReasonCodesAlgorithm(""); if (enumDropDown.getSelectedIndex() > 0) { final String simpleFactName = enumDropDown.getValue(enumDropDown.getSelectedIndex()); model.setFactName(simpleFactName); oracle.getFieldCompletions(simpleFactName, new Callback<ModelField[]>() { model.setFactName(""); String fieldName = enumDropDown.getValue(enumDropDown.getSelectedIndex()); fieldName = fieldName.substring(0, fieldName.indexOf(":")).trim(); model.setFieldName(fieldName); } else { model.setFieldName(""); String rcField = ddReasonCodeField.getValue(ddReasonCodeField.getSelectedIndex()); rcField = rcField.substring(0, rcField.indexOf(":")).trim(); model.setReasonCodeField(rcField); } else { model.setReasonCodeField(""); model.getCharacteristics().clear();
private List<ValidationMessage> doValidation(final ScoreCardModel model) { final List<ValidationMessage> results = new ArrayList<ValidationMessage>(); if (isBlank(model.getFactName())) { results.add(makeValidationMessages("Fact Name is empty.")); if (isBlank(model.getFieldName())) { results.add(makeValidationMessages("Resultant Score Field is empty.")); if (model.getCharacteristics().size() == 0) { results.add(makeValidationMessages("No Characteristics Found.")); for (final Characteristic c : model.getCharacteristics()) { String characteristicName = "Characteristic ('#" + ctr + "')"; if (isBlank(c.getName())) { results.add(makeValidationMessages("Characteristic Name '" + characteristicName + "'. No Attributes Found.")); if (model.isUseReasonCodes()) { if (isBlank(model.getReasonCodeField())) { results.add(makeValidationMessages("Characteristic Name '" + characteristicName + "'. Resultant Reason Codes Field is empty.")); if (!"none".equalsIgnoreCase(model.getReasonCodesAlgorithm())) { results.add(makeValidationMessages("Characteristic Name '" + characteristicName + "'. Baseline Score is not specified.")); results.add(makeValidationMessages("Attribute Name '" + attributeName + "'. Attribute Value is empty.")); if (model.isUseReasonCodes()) { if (isBlank(c.getReasonCode())) { if (isBlank(attribute.getReasonCode())) {
tbInitialScore.setText(Double.toString(model.getInitialScore())); String factName = model.getFactName(); final boolean useReasonCodes = model.isUseReasonCodes(); final String reasonCodesAlgo = model.getReasonCodesAlgorithm(); ddReasonCodeField.setEnabled(false); tbBaselineScore.setText(Double.toString(model.getBaselineScore()));
public Set<String> getConsumedModelClasses() { final Set<String> factTypes = new HashSet<String>(); //Extract Fact Types from model factTypes.add(model.getFactName()); for (Characteristic c : model.getCharacteristics()) { factTypes.add(c.getFact()); } //Convert Fact Types into Fully Qualified Class Names final Set<String> fullyQualifiedClassNames = new HashSet<String>(); for (String factType : factTypes) { fullyQualifiedClassNames.add(convertToFullyQualifiedClassName(factType)); } return fullyQualifiedClassNames; }
this.oracle = oracle; final DecoratedDisclosurePanel disclosurePanel = new DecoratedDisclosurePanel(GuidedScoreCardConstants.INSTANCE.scoreCardTitle0(model.getName())); disclosurePanel.setWidth("100%"); disclosurePanel.setTitle(GuidedScoreCardConstants.INSTANCE.scorecard()); characteristicsPanel.setOpen(model.getCharacteristics().size() > 0); characteristicsPanel.setWidth("95%"); characteristicsPanel.add(getCharacteristics()); characteristicsAttrPanelMap.clear(); for (final Characteristic characteristic : model.getCharacteristics()) { final FlexTable flexTable = addCharacteristic(characteristic); for (Attribute attribute : characteristic.getAttributes()) {
private Widget getRuleAttributesPanel() { ruleAttributesGrid = new Grid(2, 4); ruleAttributesGrid.setCellSpacing(5); ruleAttributesGrid.setCellPadding(5); ruleAttributesGrid.setText(0, 0, GuidedScoreCardConstants.INSTANCE.ruleFlowGroup()); ruleAttributesGrid.setText(0, 1, GuidedScoreCardConstants.INSTANCE.agendaGroup()); final String ruleFlowGroup = model.getRuleFlowGroup(); final String agendaGroup = model.getAgendaGroup(); tbRuleFlowGroup = TextBoxFactory.getTextBox(DataType.TYPE_STRING); if (!(ruleFlowGroup == null || ruleFlowGroup.isEmpty())) { tbRuleFlowGroup.setText(ruleFlowGroup); } tbAgendaGroup = TextBoxFactory.getTextBox(DataType.TYPE_STRING); if (!(agendaGroup == null || agendaGroup.isEmpty())) { tbAgendaGroup.setText(agendaGroup); } ruleAttributesGrid.setWidget(1, 0, tbRuleFlowGroup); ruleAttributesGrid.setWidget(1, 1, tbAgendaGroup); return ruleAttributesGrid; }
@Override public void callback(final ScoreCardModelContent content) { //Path is set to null when the Editor is closed (which can happen before async calls complete). if (versionRecordManager.getCurrentPath() == null) { return; } model = content.getModel(); final PackageDataModelOracleBaselinePayload dataModel = content.getDataModel(); oracle = oracleFactory.makeAsyncPackageDataModelOracle(versionRecordManager.getCurrentPath(), model, dataModel); resetEditorPages(content.getOverview()); addSourcePage(); addImportsTab(importsWidget); view.setContent(model, oracle); importsWidget.setContent(oracle, model.getImports(), isReadOnly); createOriginalHash(model); view.hideBusyIndicator(); } };
@Override public Path create(final Path context, final String fileName, final ScoreCardModel content, final String comment) { try { final Package pkg = moduleService.resolvePackage(context); final String packageName = (pkg == null ? null : pkg.getPackageName()); content.setPackageName(packageName); final org.uberfire.java.nio.file.Path nioPath = Paths.convert(context).resolve(fileName); final Path newPath = Paths.convert(nioPath); if (ioService.exists(nioPath)) { throw new FileAlreadyExistsException(nioPath.toString()); } ioService.write(nioPath, GuidedScoreCardXMLPersistence.getInstance().marshal(content), commentedOptionFactory.makeCommentedOption(comment)); return newPath; } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
public void refreshFactTypes() { dropDownFacts.clear(); dropDownFacts.addItem(GuidedScoreCardConstants.INSTANCE.pleaseChoose()); final String[] eligibleFacts = oracle.getFactTypes(); for (final String factType : eligibleFacts) { dropDownFacts.addItem(factType); } String factName = model.getFactName(); // if fact is a fully qualified className, strip off the packageName if (factName.lastIndexOf(".") > -1) { factName = factName.substring(factName.lastIndexOf(".") + 1); } final int selectedFactIndex = Arrays.asList(eligibleFacts).indexOf(factName); dropDownFacts.setSelectedIndex(selectedFactIndex >= 0 ? selectedFactIndex : 0); scoreCardPropertyFactChanged(dropDownFacts, dropDownFields); }
@Override public void callback(final String[] eligibleFieldsForSelectedFactType) { int selectedFieldIndex = 0; dropDownFields.addItem(GuidedScoreCardConstants.INSTANCE.pleaseChoose()); dropDownFields.setEnabled(eligibleFieldsForSelectedFactType.length > 0); for (final String field : eligibleFieldsForSelectedFactType) { dropDownFields.addItem(field); } for (String type : typesForScore) { final String qualifiedFieldName = model.getFieldName() + " : " + type; selectedFieldIndex = Math.max(selectedFieldIndex, Arrays.asList(eligibleFieldsForSelectedFactType).indexOf(qualifiedFieldName) + 1); if (selectedFieldIndex > 0) { break; } } dropDownFields.setSelectedIndex(selectedFieldIndex); } });
final ScoreCardModel model = new ScoreCardModel(); model.setName( "test" ); model.setPackageName( "org.drools.workbench.models.guided.scorecard.backend.test1" ); model.setReasonCodesAlgorithm( "none" ); model.setBaselineScore( 0.0 ); model.setInitialScore( 0.0 ); model.setFactName( "org.drools.workbench.models.guided.scorecard.backend.test1.Applicant" ); model.setFieldName( "calculatedScore" ); model.setUseReasonCodes( false ); model.setReasonCodeField( "" ); model.getCharacteristics().add( c );
public static ScoreCardModel makeScoreCardWithoutCharacteristics(final String packageName, final Collection<Import> imports, final String name) { final ScoreCardModel model = new ScoreCardModel(); model.getImports().getImports().addAll(imports); model.setPackageName(packageName); model.setName(name); model.setFactName("Applicant"); model.setFieldName("age"); return model; }
model.setBaselineScore(Double.parseDouble(tbBaselineScore.getValue())); model.setInitialScore(Double.parseDouble(tbInitialScore.getValue())); model.setUseReasonCodes(ddUseReasonCode.getSelectedIndex() == 1); if (ddReasonCodeAlgorithm.getSelectedIndex() > 0) { model.setReasonCodesAlgorithm(ddReasonCodeAlgorithm.getValue(ddReasonCodeAlgorithm.getSelectedIndex())); } else { model.setReasonCodesAlgorithm(""); if (enumDropDown.getSelectedIndex() > 0) { final String simpleFactName = enumDropDown.getValue(enumDropDown.getSelectedIndex()); model.setFactName(simpleFactName); oracle.getFieldCompletions(simpleFactName, new Callback<ModelField[]>() { model.setFactName(""); String fieldName = enumDropDown.getValue(enumDropDown.getSelectedIndex()); fieldName = fieldName.substring(0, fieldName.indexOf(":")).trim(); model.setFieldName(fieldName); } else { model.setFieldName(""); String rcField = ddReasonCodeField.getValue(ddReasonCodeField.getSelectedIndex()); rcField = rcField.substring(0, rcField.indexOf(":")).trim(); model.setReasonCodeField(rcField); } else { model.setReasonCodeField(""); model.getCharacteristics().clear();